Tizen 2.1 base
[platform/upstream/epson-inkjet-printer-escpr.git] / src / pipsDef.h
1 /*
2  * Epson Inkjet Printer Driver (ESC/P-R) for Linux
3  * Copyright (C) 2002-2005 AVASYS CORPORATION.
4  * Copyright (C) Seiko Epson Corporation 2002-2012.
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA.
19  */
20
21 #ifndef PIPSDEF_H
22 #define PIPSDEF_H
23
24 #ifdef HAVE_CONFIG_H
25 #  include <config.h>
26 #endif
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31
32         typedef unsigned char UCHAR;
33         typedef unsigned short USHORT;
34         typedef unsigned int UINT;
35         typedef unsigned long ULONG;
36         typedef struct _POINT
37         {
38                 long x;
39                 long y;
40         } POINT, *LP_POINT;
41
42         typedef int BOOL;
43         typedef void* HANDLE;
44
45
46         typedef struct _DOUBLE_POINT
47         {
48                 double x;
49                 double y;
50         } DPOINT, *LP_DPOINT;
51
52 /* print\e$B9=B$BN\e(B \e$B0u:~%Q%i%a!<%?$r3JG<$9$k\e(B */
53         typedef struct _PP_PRINT_STRUCT
54         {
55                 UCHAR paper;
56                 UCHAR ink;
57                 UCHAR media_type;
58                 UCHAR qlevel;
59
60                 int brightness;
61                 int contrast;
62                 int saturation;
63                 POINT ratio;
64                 POINT margin;
65                 POINT paper_size;
66                 POINT paper_area;
67                 POINT default_margin;
68                 int fit_page;    /* add -Fri Oct  5 2001 */
69                 UCHAR borderless_print;
70         } PRT_STRUCT, *LP_PRT_STRUCT;
71
72 #ifdef __cplusplus
73 }
74 #endif /* __cplusplus */
75
76
77 #define MODE_ITEM 4
78
79 enum MODE_OFSET
80 {
81   MOFS_PAPER_SIZE = 0,
82   MOFS_MEDIA,
83   MOFS_QUALITY,
84   MOFS_BORDERLESS_PRINT
85 };
86
87 /* output type */
88 enum eOUTPUT_FORMAT
89 {
90   PIPS_OUTPUT_MONO = 1,
91   PIPS_OUTPUT_CMYKcm = 0
92 };
93
94 /* media size */
95 #define     PM_MSID_A4                  0x00
96 #define     PM_MSID_LETTER              0x01
97 #define     PM_MSID_LEGAL               0x02
98 #define     PM_MSID_A5                  0x03
99 #define     PM_MSID_A6                  0x04
100 #define     PM_MSID_B5                  0x05
101 #define     PM_MSID_EXECUTIVE           0x06
102 #define     PM_MSID_HALFLETTER          0x07
103 #define     PM_MSID_PANORAMIC           0x08
104 #define     PM_MSID_TRIM_4X6            0x09
105 #define     PM_MSID_4X6                 0x0A
106 #define     PM_MSID_5X8                 0x0B
107 #define     PM_MSID_8X10                0x0C
108 #define     PM_MSID_10X15               0x0D
109 #define     PM_MSID_200X300             0x0E
110 #define     PM_MSID_L                   0x0F
111 #define     PM_MSID_POSTCARD            0x10
112 #define     PM_MSID_DBLPOSTCARD         0x11
113 #define     PM_MSID_ENV_10_L            0x12
114 #define     PM_MSID_ENV_C6_L            0x13
115 #define     PM_MSID_ENV_DL_L            0x14
116 #define     PM_MSID_NEWEVN_L            0x15
117 #define     PM_MSID_CHOKEI_3            0x16
118 #define     PM_MSID_CHOKEI_4            0x17
119 #define     PM_MSID_YOKEI_1             0x18
120 #define     PM_MSID_YOKEI_2             0x19
121 #define     PM_MSID_YOKEI_3             0x1A
122 #define     PM_MSID_YOKEI_4             0x1B
123 #define     PM_MSID_2L                  0x1C
124 #define     PM_MSID_ENV_10              0x1D
125 #define     PM_MSID_ENV_C6              0x1E
126 #define     PM_MSID_ENV_DL              0x1F
127 #define     PM_MSID_NEWENV              0x20
128 #define     PM_MSID_BUZCARD_89X50       0x21
129 #define     PM_MSID_BUZCARD_89X55       0x22
130 #define     PM_MSID_CARD_54X86          0x23
131 #define     PM_MSID_BUZCARD_55X91       0x24
132 #define     PM_MSID_ALBUM_A5            0x25
133 #define     PM_MSID_ALBUM_L             0x26
134 #define     PM_MSID_PALBUM_L_L          0x27
135 #define     PM_MSID_PALBUM_2L           0x28
136 #define     PM_MSID_PALBUM_A5_L         0x29
137 #define     PM_MSID_PALBUM_A4           0x2A
138 #define     PM_MSID_4X7                 0x2B
139 #define     PM_MSID_A3NOBI              0x3D
140 #define     PM_MSID_A3                  0x3E
141 #define     PM_MSID_B4                  0x3F
142 #define     PM_MSID_USB                 0x40
143 #define     PM_MSID_11X14               0x41
144 #define     PM_MSID_B3                  0x42
145 #define     PM_MSID_A2                  0x43
146 #define     PM_MSID_USC                 0x44
147 #define     PM_MSID_10X12               0x45
148 #define     PM_MSID_12X12               0x46
149 #define     PM_MSID_USER                0x63
150 #define     PM_MSID_UNKNOWN             -2
151
152
153 /* Support media type id */
154 #define     PM_MTID_PLAIN               0x00
155 #define     PM_MTID_360INKJET           0x01
156 #define     PM_MTID_IRON                0x02
157 #define     PM_MTID_PHOTOINKJET         0x03
158 #define     PM_MTID_PHOTOADSHEET        0x04
159 #define     PM_MTID_MATTE               0x05
160 #define     PM_MTID_PHOTO               0x06
161 #define     PM_MTID_PHOTOFILM           0x07
162 #define     PM_MTID_MINIPHOTO           0x08
163 #define     PM_MTID_OHP                 0x09
164 #define     PM_MTID_BACKLIGHT           0x0A
165 #define     PM_MTID_PGPHOTO             0x0B
166 #define     PM_MTID_PSPHOTO             0x0C
167 #define     PM_MTID_PLPHOTO             0x0D
168 #define     PM_MTID_MCGLOSSY            0x0E
169 #define     PM_MTID_ARCHMATTE           0x0F
170 #define     PM_MTID_WATERCOLOR          0x10
171 #define     PM_MTID_PROGLOSS            0x11
172 #define     PM_MTID_MATTEBOARD          0x12
173 #define     PM_MTID_PHOTOGLOSS          0x13
174 #define     PM_MTID_SEMIPROOF           0x14
175 #define     PM_MTID_SUPERFINE2          0x15
176 #define     PM_MTID_DSMATTE             0x16
177 #define     PM_MTID_CLPHOTO             0x17
178 #define     PM_MTID_ECOPHOTO            0x18
179 #define     PM_MTID_VELVETFINEART       0x19
180 #define     PM_MTID_PROOFSEMI           0x1A
181 #define     PM_MTID_HAGAKIRECL          0x1B
182 #define     PM_MTID_HAGAKIINKJET        0x1C
183 #define     PM_MTID_PHOTOINKJET2        0x1D
184 #define     PM_MTID_DURABRITE           0x1E
185 #define     PM_MTID_MATTEMEISHI         0x1F
186 #define     PM_MTID_HAGAKIATENA         0x20
187 #define     PM_MTID_PHOTOALBUM          0x21
188 #define     PM_MTID_PHOTOSTAND          0x22
189 #define     PM_MTID_RCB                 0x23
190 #define     PM_MTID_PGPHOTOEG           0x24
191 #define     PM_MTID_ENVELOPE            0x25
192 #define     PM_MTID_PLATINA             0x26
193 #define     PM_MTID_ULTRASMOOTH         0x27
194 /* add Wed Jan 28 2009 v */
195 #define     PM_MTID_SFHAGAKI            0x28  /* "Super Fine Postcard\0"                       */
196 #define     PM_MTID_PHOTOSTD            0x29  /* "Premium Glossy Photo Paper (Standard)\0"     */
197 #define     PM_MTID_GLOSSYHAGAKI        0x2A  /* "Glossy Postcard\0"                           */
198 #define     PM_MTID_GLOSSYPHOTO         0x2B  /* "Glossy Photo Paper\0"                        */
199 #define     PM_MTID_GLOSSYCAST          0x2C  /* "Epson Photo\0"                                                           */
200 #define     PM_MTID_BUSINESSCOAT        0x2D  /* "Business Ink Jet Coat Paper\0"                           */
201 /* add Wed Jan 28 2009 ^ */
202 /* del Wed Jan 28 2009 #define      PM_MTID_GPHOTO              0x2B*/
203 /* del Wed Jan 28 2009 #define      PM_MTID_PHOTOEGCP           0x2C*/
204 #define     PM_MTID_CDDVD               0x5B
205 #define     PM_MTID_CDDVDHIGH           0x5C
206 #define     PM_MTID_CLEANING            0x63
207 #define     PM_MTID_UNKNOWN             -2
208
209
210 #define SILENT_MASK 0x10000000  
211
212
213 /* quality level set pattern bits */
214 enum eQUALITY
215 {
216   PIPS_LV_DRAFT = 0,
217   PIPS_LV_NORMAL = 1,
218   PIPS_LV_HIGH = 2
219
220 };
221
222 /* Ink status */
223 enum eINK_STATUS
224 {
225   ST_INK_NORMAL = 0,
226   ST_INK_LOW,
227   ST_INK_END
228 };
229
230 /* Fit to page */
231 enum eFIT_PAGE
232 {
233         PIPS_FP_OFF = 0,
234         PIPS_FP_ON
235 };
236
237 /* Multi page */
238 enum eMULTI_PAGE
239 {
240         PIPS_MP_1 = 0,
241         PIPS_MP_2,
242         PIPS_MP_4
243 };
244
245 /* Borderless Print */
246 enum eBORDERLESS_PRINT
247 {
248         PIPS_BL_OFF = 0,
249         PIPS_BL_ON
250 };
251
252 typedef int (*func_t)(UCHAR *, void *, void *, void *);
253
254
255 #endif /* PIPSDEF_H */