1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  * Copyright (C) 2016 Mopria Alliance, Inc.
4  * Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #ifndef __MEDIA_SIZES_H__
19 #define __MEDIA_SIZES_H__
20 
21 #include <stdint.h>
22 
23 /*
24  * Enumeration of the different media sizes known by the printing system. The numeration of the
25  * media ID corresponds to the PCL numeration of the media ID. There is also a numeration for
26  * custom size (101). This enum contains all the values that are currently defined for media types.
27  * A product may choose to support any *subset* of these defined media types.
28  */
29 typedef enum {
30     US_EXECUTIVE = 1,
31     US_LETTER = 2,
32     US_LEGAL = 3,
33     US_EDP = 4,
34     EUROPEAN_EDP = 5,
35     B_TABLOID = 6,
36     US_GOVERNMENT_LETTER = 7,
37     US_GOVERNMENT_LEGAL = 8,
38     FOLIO = 9,
39     FOOLSCAP = 10,
40     LEDGER = 11,
41     C_SIZE = 12,
42     D_SIZE = 13,
43     E_SIZE = 14,
44     MINI = 15,
45     SUPER_B = 16,
46     ROC16K = 17,
47     ROC8K = 19,
48     ISO_AND_JIS_A10 = 20,
49     ISO_AND_JIS_A9 = 21,
50     ISO_AND_JIS_A8 = 22,
51     ISO_AND_JIS_A7 = 23,
52     ISO_AND_JIS_A6 = 24,
53     ISO_AND_JIS_A5 = 25,
54     ISO_A5 = 25,
55     ISO_AND_JIS_A4 = 26,
56     ISO_A4 = 26,
57     ISO_AND_JIS_A3 = 27,
58     ISO_A3 = 27,
59     ISO_AND_JIS_A2 = 28,
60     ISO_AND_JIS_A1 = 29,
61     ISO_AND_JIS_A0 = 30,
62     ISO_AND_JIS_2A0 = 31,
63     ISO_AND_JIS_4A0 = 32,
64     K8_270X390MM = 33,
65     K16_195X270MM = 34,
66     K8_260X368MM = 35,
67     RA4 = 36,
68     SRA4 = 37,
69     SRA3 = 38,
70     RA3 = 39,
71     JIS_B10 = 40,
72     JIS_B9 = 41,
73     JIS_B8 = 42,
74     JIS_B7 = 43,
75     JIS_B6 = 44,
76     JIS_B5 = 45,
77     JIS_B4 = 46,
78     JIS_B3 = 47,
79     JIS_B2 = 48,
80     JIS_B1 = 49,
81     JIS_B0 = 50,
82     ISO_B10 = 60,
83     ISO_B9 = 61,
84     ISO_B8 = 62,
85     ISO_B7 = 63,
86     ISO_B6 = 64,
87     ISO_B5 = 65,
88     ISO_B4 = 66,
89     ISO_B3 = 67,
90     ISO_B2 = 68,
91     ISO_B1 = 69,
92     ISO_B0 = 70,
93     JAPANESE_POSTCARD_SINGLE = 71,
94     JPN_HAGAKI_PC = 71,
95     JAPANESE_POSTCARD_DOUBLE = 72,
96     JPN_OUFUKU_PC = 72,
97     ISO_A6_POSTCARD = 73,
98     ISO_A6_CARD = 73,
99     INDEX_CARD_4X6 = 74,
100     US_SMALL_IDX = 74,
101     INDEX_CARD_5X8 = 75,
102     US_LARGE_IDX = 75,
103     PHOTO_4X6 = 76,
104     JAPANESE_POSTCARD_WITH_TAB = 77,
105     INDEX_CARD_3X5 = 78,
106     MONARCH = 80,
107     COMMERCIAL_10 = 81,
108     NO_10_ENVELOPE = 81,
109     CATALOG_1 = 82,
110     ENVELOPE_NO_6_75 = 83,
111     K16_184X260MM = 89,
112     INTERNATIONAL_DL = 90,
113     INT_DL_ENVELOPE = 90,
114     INTERNATIONAL_C5 = 91,
115     INT_C6_ENVELOPE = 92,
116     INTERNATIONAL_C6 = 92,
117     INTERNATIONAL_C4 = 93,
118     PRINTABLE_CD_3_5_INCH = 98,
119     PRINTABLE_CD_5_INCH = 99,
120     INTERNATIONAL_B5 = 100,
121     CUSTOM = 101,
122     COMMERCIAL_9 = 102,
123     CUSTOM_CARD = 108,
124     US_ENVELOPE_A2 = 109,
125     A2_ENVELOPE = 109,
126     JAPANESE_ENV_LONG_3 = 110,
127     NEC_L3_ENVELOPE = 110,
128     JAPANESE_ENV_LONG_4 = 111,
129     NEC_L4_ENVELOPE = 111,
130     JAPANESE_ENV_2 = 112,
131     HP_GREETING_CARD_ENVELOPE = 114,
132     US_PHOTO_9X12 = 116,
133     US_PHOTO_ALBUM_12X12 = 117,
134     PHOTO_10X15 = 118,
135     PHOTO_CABINET = 119,
136     SUPER_B_PAPER = 120,
137     PHOTO_L_SIZE_CARD = 121,
138     LSIZE_CARD = 121,
139     INDEX_CARD_5X7 = 122,
140     PHOTO_E_SIZE_CARD = 123,
141     PHOTO_KG_SIZE_CARD = 124,
142     PHOTO_2E_SIZE_CARD = 125,
143     PHOTO_2L_SIZE_CARD = 126,
144 
145     /* Rotated Media (add 256 to the unrotated value) */
146     US_EXECUTIVE_ROTATED = 257,
147     US_LETTER_ROTATED = 258,
148     ISO_AND_JIS_A5_ROTATED = 281,
149     ISO_AND_JIS_A4_ROTATED = 282,
150     JIS_B5_ROTATED = 301,
151     PHOTO_89X119 = 302,
152     CARD_54X86 = 303,
153     OE_PHOTO_L = 304,
154 
155     /*
156      * Need a media size for products that want to reject any media that doesn't have an exact
157      * match. UNKNOWN_MEDIA_SIZE can't be used because it is used on other (most) products that
158      * don't want this behavior.
159      */
160     UNDEFINED_MEDIA_SIZE = 29999,
161 
162     /* Special photo sizes */
163     PHOTO_4X12 = 30000,
164     PHOTO_4X8 = 30001,
165     PHOTO_5X7_MAIN_TRAY = 30002,
166 
167     /* Other Media */
168     CUSTOM_ROLL = 32766,
169     UNKNOWN_MEDIA_SIZE = 32767,
170 } media_size_t;
171 
172 #endif // __MEDIA_SIZES_H__