#ifndef PRINT_H
#define PRINT_H


/****************************************************************************/


/* This file was created automatically by CatComp.
 * Do NOT edit by hand!
 */


#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef CATCOMP_ARRAY
#undef CATCOMP_NUMBERS
#undef CATCOMP_STRINGS
#define CATCOMP_NUMBERS
#define CATCOMP_STRINGS
#endif

#ifdef CATCOMP_BLOCK
#undef CATCOMP_STRINGS
#define CATCOMP_STRINGS
#endif


/****************************************************************************/


#ifdef CATCOMP_NUMBERS

#define MSG_PRINTREQ_TITLE 1000
#define MSG_PRINTING_TITLE 1001
#define MSG_PRINT 1002
#define MSG_CANCEL 1003
#define MSG_TEXT 1004
#define MSG_HEADER_FOOTER 1005
#define MSG_PRINT_QUALITY 1006
#define MSG_PRINT_SPACING 1007
#define MSG_PRINT_PITCH 1008
#define MSG_PRINT_LEFT_MARGIN 1009
#define MSG_PRINT_RIGHT_MARGIN 1010
#define MSG_PRINT_PAGE_LENGTH 1011
#define MSG_PRINT_TAB_SIZE 1012
#define MSG_PRINT_QUALITY_DRAFT 1013
#define MSG_PRINT_QUALITY_LETTER 1014
#define MSG_PRINT_SPACING_6 1015
#define MSG_PRINT_SPACING_8 1016
#define MSG_PRINT_PITCH_PICA 1017
#define MSG_PRINT_PITCH_ELITE 1018
#define MSG_PRINT_PITCH_FINE 1019
#define MSG_PRINT_CONFIGURATION 1020
#define MSG_PRINT_HEADER 1021
#define MSG_PRINT_FOOTER 1022
#define MSG_PRINT_TITLE 1023
#define MSG_PRINT_DATE 1024
#define MSG_PRINT_PAGE 1025
#define MSG_PRINT_STYLE 1026
#define MSG_PRINT_STYLE_NORMAL 1027
#define MSG_PRINT_STYLE_BOLD 1028
#define MSG_PRINT_STYLE_ITALICS 1029
#define MSG_PRINT_STYLE_UNDERLINE 1030
#define MSG_ABORT 1031
#define MSG_OK 1032
#define MSG_OPENING_PRINTER 1033
#define MSG_CANT_OPEN_PRINTER 1034
#define MSG_PRINTER_ERROR 1035
#define MSG_REALLY_ABORT 1036
#define MSG_RETRY_CANCEL 1037
#define MSG_ABORT_RESUME 1038
#define MSG_PRINT_PAGENUM 1039
#define MSG_PRINT_DESC 1040
#define MSG_PRINT_OUTPUT 1041
#define MSG_PRINT_OUTPUT_PRINTER 1042
#define MSG_PRINT_OUTPUT_FILE 1043
#define MSG_SELECT_OUTPUT_FILE 1044

#endif /* CATCOMP_NUMBERS */


/****************************************************************************/


#ifdef CATCOMP_STRINGS

#define MSG_PRINTREQ_TITLE_STR "Print"
#define MSG_PRINTING_TITLE_STR "Printing..."
#define MSG_PRINT_STR "_Print"
#define MSG_CANCEL_STR "_Cancel"
#define MSG_TEXT_STR "Text"
#define MSG_HEADER_FOOTER_STR "Header/Footer"
#define MSG_PRINT_QUALITY_STR "_Quality"
#define MSG_PRINT_SPACING_STR "_Spacing"
#define MSG_PRINT_PITCH_STR "P_itch"
#define MSG_PRINT_LEFT_MARGIN_STR "_Left Margin"
#define MSG_PRINT_RIGHT_MARGIN_STR "_Right Margin"
#define MSG_PRINT_PAGE_LENGTH_STR "P_age Length"
#define MSG_PRINT_TAB_SIZE_STR "_Tab Size"
#define MSG_PRINT_QUALITY_DRAFT_STR "Draft"
#define MSG_PRINT_QUALITY_LETTER_STR "Letter"
#define MSG_PRINT_SPACING_6_STR "6 LPI"
#define MSG_PRINT_SPACING_8_STR "8 LPI"
#define MSG_PRINT_PITCH_PICA_STR "Pica"
#define MSG_PRINT_PITCH_ELITE_STR "Elite"
#define MSG_PRINT_PITCH_FINE_STR "Fine"
#define MSG_PRINT_CONFIGURATION_STR "c_onfiguration..."
#define MSG_PRINT_HEADER_STR "Header"
#define MSG_PRINT_FOOTER_STR "Footer"
#define MSG_PRINT_TITLE_STR "Titl_e"
#define MSG_PRINT_DATE_STR "_Date"
#define MSG_PRINT_PAGE_STR "Pa_ge"
#define MSG_PRINT_STYLE_STR "St_yle"
#define MSG_PRINT_STYLE_NORMAL_STR "Normal"
#define MSG_PRINT_STYLE_BOLD_STR "Bold"
#define MSG_PRINT_STYLE_ITALICS_STR "Italics"
#define MSG_PRINT_STYLE_UNDERLINE_STR "Uline"
#define MSG_ABORT_STR "Abort"
#define MSG_OK_STR "OK"
#define MSG_OPENING_PRINTER_STR "Opening printer..."
#define MSG_CANT_OPEN_PRINTER_STR "Couldn't open printer!"
#define MSG_PRINTER_ERROR_STR "An error occurred (%ld) while printing."
#define MSG_REALLY_ABORT_STR "Really abort print?"
#define MSG_RETRY_CANCEL_STR "Retry|Cancel"
#define MSG_ABORT_RESUME_STR "Abort|Continue"
#define MSG_PRINT_PAGENUM_STR "Page "
#define MSG_PRINT_DESC_STR "Print text files"
#define MSG_PRINT_OUTPUT_STR "Outp_ut"
#define MSG_PRINT_OUTPUT_PRINTER_STR "Printer"
#define MSG_PRINT_OUTPUT_FILE_STR "File"
#define MSG_SELECT_OUTPUT_FILE_STR "Select Output File"

#endif /* CATCOMP_STRINGS */


/****************************************************************************/


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_PRINTREQ_TITLE,(STRPTR)MSG_PRINTREQ_TITLE_STR},
    {MSG_PRINTING_TITLE,(STRPTR)MSG_PRINTING_TITLE_STR},
    {MSG_PRINT,(STRPTR)MSG_PRINT_STR},
    {MSG_CANCEL,(STRPTR)MSG_CANCEL_STR},
    {MSG_TEXT,(STRPTR)MSG_TEXT_STR},
    {MSG_HEADER_FOOTER,(STRPTR)MSG_HEADER_FOOTER_STR},
    {MSG_PRINT_QUALITY,(STRPTR)MSG_PRINT_QUALITY_STR},
    {MSG_PRINT_SPACING,(STRPTR)MSG_PRINT_SPACING_STR},
    {MSG_PRINT_PITCH,(STRPTR)MSG_PRINT_PITCH_STR},
    {MSG_PRINT_LEFT_MARGIN,(STRPTR)MSG_PRINT_LEFT_MARGIN_STR},
    {MSG_PRINT_RIGHT_MARGIN,(STRPTR)MSG_PRINT_RIGHT_MARGIN_STR},
    {MSG_PRINT_PAGE_LENGTH,(STRPTR)MSG_PRINT_PAGE_LENGTH_STR},
    {MSG_PRINT_TAB_SIZE,(STRPTR)MSG_PRINT_TAB_SIZE_STR},
    {MSG_PRINT_QUALITY_DRAFT,(STRPTR)MSG_PRINT_QUALITY_DRAFT_STR},
    {MSG_PRINT_QUALITY_LETTER,(STRPTR)MSG_PRINT_QUALITY_LETTER_STR},
    {MSG_PRINT_SPACING_6,(STRPTR)MSG_PRINT_SPACING_6_STR},
    {MSG_PRINT_SPACING_8,(STRPTR)MSG_PRINT_SPACING_8_STR},
    {MSG_PRINT_PITCH_PICA,(STRPTR)MSG_PRINT_PITCH_PICA_STR},
    {MSG_PRINT_PITCH_ELITE,(STRPTR)MSG_PRINT_PITCH_ELITE_STR},
    {MSG_PRINT_PITCH_FINE,(STRPTR)MSG_PRINT_PITCH_FINE_STR},
    {MSG_PRINT_CONFIGURATION,(STRPTR)MSG_PRINT_CONFIGURATION_STR},
    {MSG_PRINT_HEADER,(STRPTR)MSG_PRINT_HEADER_STR},
    {MSG_PRINT_FOOTER,(STRPTR)MSG_PRINT_FOOTER_STR},
    {MSG_PRINT_TITLE,(STRPTR)MSG_PRINT_TITLE_STR},
    {MSG_PRINT_DATE,(STRPTR)MSG_PRINT_DATE_STR},
    {MSG_PRINT_PAGE,(STRPTR)MSG_PRINT_PAGE_STR},
    {MSG_PRINT_STYLE,(STRPTR)MSG_PRINT_STYLE_STR},
    {MSG_PRINT_STYLE_NORMAL,(STRPTR)MSG_PRINT_STYLE_NORMAL_STR},
    {MSG_PRINT_STYLE_BOLD,(STRPTR)MSG_PRINT_STYLE_BOLD_STR},
    {MSG_PRINT_STYLE_ITALICS,(STRPTR)MSG_PRINT_STYLE_ITALICS_STR},
    {MSG_PRINT_STYLE_UNDERLINE,(STRPTR)MSG_PRINT_STYLE_UNDERLINE_STR},
    {MSG_ABORT,(STRPTR)MSG_ABORT_STR},
    {MSG_OK,(STRPTR)MSG_OK_STR},
    {MSG_OPENING_PRINTER,(STRPTR)MSG_OPENING_PRINTER_STR},
    {MSG_CANT_OPEN_PRINTER,(STRPTR)MSG_CANT_OPEN_PRINTER_STR},
    {MSG_PRINTER_ERROR,(STRPTR)MSG_PRINTER_ERROR_STR},
    {MSG_REALLY_ABORT,(STRPTR)MSG_REALLY_ABORT_STR},
    {MSG_RETRY_CANCEL,(STRPTR)MSG_RETRY_CANCEL_STR},
    {MSG_ABORT_RESUME,(STRPTR)MSG_ABORT_RESUME_STR},
    {MSG_PRINT_PAGENUM,(STRPTR)MSG_PRINT_PAGENUM_STR},
    {MSG_PRINT_DESC,(STRPTR)MSG_PRINT_DESC_STR},
    {MSG_PRINT_OUTPUT,(STRPTR)MSG_PRINT_OUTPUT_STR},
    {MSG_PRINT_OUTPUT_PRINTER,(STRPTR)MSG_PRINT_OUTPUT_PRINTER_STR},
    {MSG_PRINT_OUTPUT_FILE,(STRPTR)MSG_PRINT_OUTPUT_FILE_STR},
    {MSG_SELECT_OUTPUT_FILE,(STRPTR)MSG_SELECT_OUTPUT_FILE_STR},
};

#endif /* CATCOMP_ARRAY */


/****************************************************************************/


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x03\xE8\x00\x06"
    MSG_PRINTREQ_TITLE_STR "\x00"
    "\x00\x00\x03\xE9\x00\x0C"
    MSG_PRINTING_TITLE_STR "\x00"
    "\x00\x00\x03\xEA\x00\x08"
    MSG_PRINT_STR "\x00\x00"
    "\x00\x00\x03\xEB\x00\x08"
    MSG_CANCEL_STR "\x00"
    "\x00\x00\x03\xEC\x00\x06"
    MSG_TEXT_STR "\x00\x00"
    "\x00\x00\x03\xED\x00\x0E"
    MSG_HEADER_FOOTER_STR "\x00"
    "\x00\x00\x03\xEE\x00\x0A"
    MSG_PRINT_QUALITY_STR "\x00\x00"
    "\x00\x00\x03\xEF\x00\x0A"
    MSG_PRINT_SPACING_STR "\x00\x00"
    "\x00\x00\x03\xF0\x00\x08"
    MSG_PRINT_PITCH_STR "\x00\x00"
    "\x00\x00\x03\xF1\x00\x0E"
    MSG_PRINT_LEFT_MARGIN_STR "\x00\x00"
    "\x00\x00\x03\xF2\x00\x0E"
    MSG_PRINT_RIGHT_MARGIN_STR "\x00"
    "\x00\x00\x03\xF3\x00\x0E"
    MSG_PRINT_PAGE_LENGTH_STR "\x00\x00"
    "\x00\x00\x03\xF4\x00\x0A"
    MSG_PRINT_TAB_SIZE_STR "\x00"
    "\x00\x00\x03\xF5\x00\x06"
    MSG_PRINT_QUALITY_DRAFT_STR "\x00"
    "\x00\x00\x03\xF6\x00\x08"
    MSG_PRINT_QUALITY_LETTER_STR "\x00\x00"
    "\x00\x00\x03\xF7\x00\x06"
    MSG_PRINT_SPACING_6_STR "\x00"
    "\x00\x00\x03\xF8\x00\x06"
    MSG_PRINT_SPACING_8_STR "\x00"
    "\x00\x00\x03\xF9\x00\x06"
    MSG_PRINT_PITCH_PICA_STR "\x00\x00"
    "\x00\x00\x03\xFA\x00\x06"
    MSG_PRINT_PITCH_ELITE_STR "\x00"
    "\x00\x00\x03\xFB\x00\x06"
    MSG_PRINT_PITCH_FINE_STR "\x00\x00"
    "\x00\x00\x03\xFC\x00\x12"
    MSG_PRINT_CONFIGURATION_STR "\x00"
    "\x00\x00\x03\xFD\x00\x08"
    MSG_PRINT_HEADER_STR "\x00\x00"
    "\x00\x00\x03\xFE\x00\x08"
    MSG_PRINT_FOOTER_STR "\x00\x00"
    "\x00\x00\x03\xFF\x00\x08"
    MSG_PRINT_TITLE_STR "\x00\x00"
    "\x00\x00\x04\x00\x00\x06"
    MSG_PRINT_DATE_STR "\x00"
    "\x00\x00\x04\x01\x00\x06"
    MSG_PRINT_PAGE_STR "\x00"
    "\x00\x00\x04\x02\x00\x08"
    MSG_PRINT_STYLE_STR "\x00\x00"
    "\x00\x00\x04\x03\x00\x08"
    MSG_PRINT_STYLE_NORMAL_STR "\x00\x00"
    "\x00\x00\x04\x04\x00\x06"
    MSG_PRINT_STYLE_BOLD_STR "\x00\x00"
    "\x00\x00\x04\x05\x00\x08"
    MSG_PRINT_STYLE_ITALICS_STR "\x00"
    "\x00\x00\x04\x06\x00\x06"
    MSG_PRINT_STYLE_UNDERLINE_STR "\x00"
    "\x00\x00\x04\x07\x00\x06"
    MSG_ABORT_STR "\x00"
    "\x00\x00\x04\x08\x00\x04"
    MSG_OK_STR "\x00\x00"
    "\x00\x00\x04\x09\x00\x14"
    MSG_OPENING_PRINTER_STR "\x00\x00"
    "\x00\x00\x04\x0A\x00\x18"
    MSG_CANT_OPEN_PRINTER_STR "\x00\x00"
    "\x00\x00\x04\x0B\x00\x28"
    MSG_PRINTER_ERROR_STR "\x00"
    "\x00\x00\x04\x0C\x00\x14"
    MSG_REALLY_ABORT_STR "\x00"
    "\x00\x00\x04\x0D\x00\x0E"
    MSG_RETRY_CANCEL_STR "\x00\x00"
    "\x00\x00\x04\x0E\x00\x10"
    MSG_ABORT_RESUME_STR "\x00\x00"
    "\x00\x00\x04\x0F\x00\x06"
    MSG_PRINT_PAGENUM_STR "\x00"
    "\x00\x00\x04\x10\x00\x12"
    MSG_PRINT_DESC_STR "\x00\x00"
    "\x00\x00\x04\x11\x00\x08"
    MSG_PRINT_OUTPUT_STR "\x00"
    "\x00\x00\x04\x12\x00\x08"
    MSG_PRINT_OUTPUT_PRINTER_STR "\x00"
    "\x00\x00\x04\x13\x00\x06"
    MSG_PRINT_OUTPUT_FILE_STR "\x00\x00"
    "\x00\x00\x04\x14\x00\x14"
    MSG_SELECT_OUTPUT_FILE_STR "\x00\x00"
};

#endif /* CATCOMP_BLOCK */


/****************************************************************************/


struct LocaleInfo
{
    APTR li_LocaleBase;
    APTR li_Catalog;
};


#ifdef CATCOMP_CODE

STRPTR GetString(struct LocaleInfo *li, LONG stringNum)
{
LONG   *l;
UWORD  *w;
STRPTR  builtIn;

    l = (LONG *)CatCompBlock;

    while (*l != stringNum)
    {
        w = (UWORD *)((ULONG)l + 4);
        l = (LONG *)((ULONG)l + (ULONG)*w + 6);
    }
    builtIn = (STRPTR)((ULONG)l + 6);

#define XLocaleBase LocaleBase
#define LocaleBase li->li_LocaleBase
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));
#define LocaleBase XLocaleBase
#undef XLocaleBase

    return(builtIn);
}


#endif /* CATCOMP_CODE */


/****************************************************************************/


#endif /* PRINT_H */
