Tizen 2.0 Release
[external/epson-laser-printer-escpage.git] / lib / epson-escpage.h
1 /*__________________________________  epson-escpage.h   ________________________________*/\r
2 \r
3 /*       1         2         3         4         5         6         7         8        */\r
4 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/\r
5 /*******************************************|********************************************/\r
6 /*\r
7  *   Copyright (c) 2010  Seiko Epson Corporation                 All rights reserved.\r
8  *\r
9  *   Copyright protection claimed includes all forms and matters of\r
10  *   copyrightable material and information now allowed by statutory or judicial\r
11  *   law or hereinafter granted, including without limitation, material generated\r
12  *   from the software programs which are displayed on the screen such as icons,\r
13  *   screen display looks, etc.\r
14  *\r
15  */\r
16 /*******************************************|********************************************/\r
17 /*                                                                                      */\r
18 /*                            Epson ESC/Page command Functions                          */\r
19 /*                                                                                      */\r
20 /*******************************************|********************************************/\r
21 \r
22 #ifndef __EPSON_ESCPAGE_H__\r
23 #define __EPSON_ESCPAGE_H__\r
24 #ifdef __cplusplus\r
25 extern "C" {\r
26 #endif\r
27 /*------------------------------------  Includes   -------------------------------------*/\r
28 /*******************************************|********************************************/\r
29 #include "epson-escpr-pvt.h"\r
30 #include "epson-escpr-media.h"\r
31 \r
32 /*------------------------------- Global Compiler Switch -------------------------------*/\r
33 /*******************************************|********************************************/\r
34 #define EPS_PAGE_RIT                            (1)\r
35 #define EPS_PAGE_TONER_SAVE                     (0)\r
36 #define EPS_PAGE_OUTUNIT_FACEDOWN       (1)\r
37 #define EPS_PAGE_LOWRES_MODE            (1)             /* OFF=0 / ON=1 */\r
38 #define EPS_PAGE_HT_ERR_DIFFUSION       (1)             /* Halftoning mode */\r
39 \r
40 /*-----------------------------------  Definitions  ------------------------------------*/\r
41 /*******************************************|********************************************/\r
42 #define dim(x)  (sizeof(x) / sizeof(x[0]))\r
43 #define EPS_EJL_LINEMAX                         (256)\r
44 \r
45 /*---------------------------  ESC/Page Media Declarations   ---------------------------*/\r
46 /*******************************************|********************************************/\r
47 typedef struct _tagEPS_PAGE_MEDIASIZE_ {\r
48     EPS_INT32   id;\r
49     EPS_INT32   paper_x;\r
50     EPS_INT32   paper_y;\r
51           EPS_INT32     print_area_x_border;\r
52           EPS_INT32     print_area_y_border;\r
53     const EPS_INT8 *name;\r
54 } EPS_PAGE_MEDIASIZE;\r
55 \r
56 /* Size 600dpi */\r
57 static const EPS_PAGE_MEDIASIZE pageMediaSize[] = {\r
58         { EPS_MSID_A4,                          4960, 7016, 4820, 6776, "A4" },\r
59   { EPS_MSID_A3,                    7014, 9918, 6774, 9778, "A3" },\r
60   { EPS_MSID_USB,       6600, 10200, 6460, 10060, "USB"},\r
61         { EPS_MSID_A5,                    3496, 4960, 3356, 4820, "A5" },\r
62   //{ EPS_MSID_A6,      2480, 3496, 2340, 3356, "A6" },\r
63         //{ EPS_MSID_B4,                6072, 8600, 5832, 8360, "B4" },\r
64         { EPS_MSID_GLG,                         5100, 7800, 4960, 7660, "GLG" },\r
65         { EPS_MSID_GLT,                         4800, 6300, 4660, 6160, "GLT" },\r
66         { EPS_MSID_F4,                    4960, 7796, 4820, 7656, "F4"  },\r
67         { EPS_MSID_B5,                          4300, 6072, 4060, 5832, "B5"  },\r
68         { EPS_MSID_LETTER,              5100, 6600, 4860, 6360, "LT"  },\r
69         { EPS_MSID_LEGAL,                       5100, 8400, 4960, 8260, "LGL" },\r
70         { EPS_MSID_EXECUTIVE, 4350, 6300, 4210, 6160, "EXE" },\r
71         { EPS_MSID_HLT,                   3300, 5100, 3160, 4960, "HLT" },\r
72         { EPS_MSID_MON,                   2326, 4500, 2186, 4360, "MON" },\r
73         { EPS_MSID_C10,                   2476, 5700, 2336, 5560, "C10" },\r
74         { EPS_MSID_DL,                          2580, 5220, 2440, 5080, "DL"  },\r
75         { EPS_MSID_C5,                          3840, 5400, 3700, 5260, "C5"  },\r
76         { EPS_MSID_C6,                    2700, 3840, 2560, 3700, "C6"  },\r
77         { EPS_MSID_IB5,                   4140, 5880, 4000, 5740, "IB5" }\r
78         \r
79         //{ EPS_MSID_POSTCARD,2362, 3496, 2122, 3256, "PC" }\r
80 };\r
81 \r
82 /*---------------------------  Data Structure Declarations   ---------------------------*/\r
83 /*******************************************|********************************************/\r
84 /* command data buffer                */\r
85 typedef struct tagEPS_COMMAND_BUFFER \r
86 {\r
87         EPS_UINT32      size;           /* allocated buffer size */\r
88         EPS_UINT32      len;            /* data size */\r
89         EPS_INT8*       p;          \r
90         void*           pExtent;\r
91 } EPS_COMMAND_BUFFER;\r
92 \r
93 /*--------------------------  Public Function Declarations   ---------------------------*/\r
94 /*******************************************|********************************************/\r
95 extern EPS_ERR_CODE pageInitJob                         (const EPS_JOB_ATTRIB *pJobAttr);\r
96 extern EPS_ERR_CODE pageAllocBuffer                     (void);\r
97 extern void                     pageRelaseBuffer                (void);\r
98 extern EPS_ERR_CODE pageStartJob                        (void);\r
99 extern EPS_ERR_CODE pageEndJob                          (void);\r
100 extern EPS_ERR_CODE pageStartPage                       (void);\r
101 extern EPS_ERR_CODE pageEndPage                         (void);\r
102 extern EPS_ERR_CODE pageColorRow                        (const EPS_BANDBMP*, EPS_RECT*);\r
103 extern EPS_ERR_CODE pageSendLeftovers           (void);\r
104 \r
105     /*** Get Supported Media Function                                                   */\r
106     /*** -------------------------------------------------------------------------------*/\r
107 extern EPS_ERR_CODE pageCreateMediaInfo         (EPS_PRINTER_INN* printer, EPS_UINT8* pmString,\r
108                                                                                          EPS_INT32 pmSize                                                       );\r
109 extern void                     pageClearSupportedMedia (EPS_PRINTER_INN* printer                                       );\r
110 \r
111     /*** Get Printable Area                                                             */\r
112     /*** -------------------------------------------------------------------------------*/\r
113 extern EPS_ERR_CODE pageGetPrintableArea  (EPS_JOB_ATTRIB*, EPS_UINT32*, EPS_UINT32*    );\r
114 \r
115 \r
116 /*-----------------------  ESC/Page Local Function Declarations   ----------------------*/\r
117 /*******************************************|********************************************/\r
118 typedef EPS_ERR_CODE    (*PAGE_CmdBuffGrow      )(EPS_COMMAND_BUFFER *pCmdBuff, EPS_INT32 addSize);\r
119 \r
120 extern EPS_ERR_CODE ejlStart    (EPS_COMMAND_BUFFER *pCmdBuff, PAGE_CmdBuffGrow pfncGrow);\r
121 extern EPS_ERR_CODE ejlEnd              (EPS_COMMAND_BUFFER *pCmdBuff, PAGE_CmdBuffGrow pfncGrow,\r
122                                                                  EPS_INT32 pageCount                                                                    );\r
123 extern EPS_ERR_CODE ejlPageEsc  (EPS_COMMAND_BUFFER *pCmdBuff, PAGE_CmdBuffGrow pfncGrow);\r
124 \r
125 #ifdef __cplusplus\r
126 }\r
127 #endif\r
128 \r
129 #endif  /* def __EPSON_ESCPAGE_H__ */\r
130 \r
131 /*__________________________________  epson-escpage.h   ________________________________*/\r
132   \r
133 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/\r
134 /*       1         2         3         4         5         6         7         8        */\r
135 /*******************************************|********************************************/\r
136 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/\r
137 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/\r
138 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/\r