Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(829)

Side by Side Diff: experimental/PdfViewer/autogen/SkPdfType1FormDictionary_autogen.h

Issue 17856004: refactoring for pdf viewer lib (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #ifndef __DEFINED__SkPdfType1FormDictionary 1 #ifndef __DEFINED__SkPdfType1FormDictionary
2 #define __DEFINED__SkPdfType1FormDictionary 2 #define __DEFINED__SkPdfType1FormDictionary
3 3
4 #include "SkPdfUtils.h" 4 #include "SkPdfUtils.h"
5 #include "SkPdfEnums_autogen.h" 5 #include "SkPdfEnums_autogen.h"
6 #include "SkPdfArray_autogen.h" 6 #include "SkPdfArray_autogen.h"
7 #include "SkPdfXObjectDictionary_autogen.h" 7 #include "SkPdfXObjectDictionary_autogen.h"
8 8
9 // Additional entries specific to a type 1 form dictionary 9 // Additional entries specific to a type 1 form dictionary
10 class SkPdfType1FormDictionary : public SkPdfXObjectDictionary { 10 class SkPdfType1FormDictionary : public SkPdfXObjectDictionary {
(...skipping 19 matching lines...) Expand all
30 30
31 SkPdfType1FormDictionary& operator=(const SkPdfType1FormDictionary& from) {thi s->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *thi s;} 31 SkPdfType1FormDictionary& operator=(const SkPdfType1FormDictionary& from) {thi s->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *thi s;}
32 32
33 /** (Optional) The type of PDF object that this dictionary describes; if present , 33 /** (Optional) The type of PDF object that this dictionary describes; if present ,
34 * must be XObject for a form XObject. 34 * must be XObject for a form XObject.
35 **/ 35 **/
36 bool has_Type() const { 36 bool has_Type() const {
37 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL)); 37 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL));
38 } 38 }
39 39
40 std::string Type() const { 40 std::string Type() const;
41 std::string ret;
42 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
43 // TODO(edisonn): warn about missing required field, assert for known good p dfs
44 return "";
45 }
46
47 /** (Required) The type of XObject that this dictionary describes; must be Form 41 /** (Required) The type of XObject that this dictionary describes; must be Form
48 * for a form XObject. 42 * for a form XObject.
49 **/ 43 **/
50 bool has_Subtype() const { 44 bool has_Subtype() const {
51 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subty pe", "", NULL)); 45 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subty pe", "", NULL));
52 } 46 }
53 47
54 std::string Subtype() const { 48 std::string Subtype() const;
55 std::string ret;
56 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", " ", &ret)) return ret;
57 // TODO(edisonn): warn about missing required field, assert for known good p dfs
58 return "";
59 }
60
61 /** (Optional) A code identifying the type of form XObject that this dictionary 49 /** (Optional) A code identifying the type of form XObject that this dictionary
62 * describes. The only valid value defined at the time of publication is 1. Def ault 50 * describes. The only valid value defined at the time of publication is 1. Def ault
63 * value: 1. 51 * value: 1.
64 **/ 52 **/
65 bool has_FormType() const { 53 bool has_FormType() const {
66 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FormT ype", "", NULL)); 54 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FormT ype", "", NULL));
67 } 55 }
68 56
69 long FormType() const { 57 long FormType() const;
70 long ret;
71 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FormType", "", &ret)) return ret;
72 // TODO(edisonn): warn about missing required field, assert for known good p dfs
73 return 0;
74 }
75
76 /** (Required in PDF 1.0; optional otherwise) The name by which this form 58 /** (Required in PDF 1.0; optional otherwise) The name by which this form
77 * XObject is referenced in the XObject subdictionary of the current resource 59 * XObject is referenced in the XObject subdictionary of the current resource
78 * dictionary (see Section 3.7.2, "Resource Dictionaries"). 60 * dictionary (see Section 3.7.2, "Resource Dictionaries").
79 * Note: This entry is obsolescent and its use is no longer recommended. (See 61 * Note: This entry is obsolescent and its use is no longer recommended. (See
80 * implementation note 38 in Appendix H.) 62 * implementation note 38 in Appendix H.)
81 **/ 63 **/
82 bool has_Name() const { 64 bool has_Name() const {
83 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name" , "", NULL)); 65 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name" , "", NULL));
84 } 66 }
85 67
86 std::string Name() const { 68 std::string Name() const;
87 std::string ret;
88 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
89 // TODO(edisonn): warn about missing required field, assert for known good p dfs
90 return "";
91 }
92
93 /** (Required if PieceInfo is present; optional otherwise; PDF 1.3) The date and 69 /** (Required if PieceInfo is present; optional otherwise; PDF 1.3) The date and
94 * time (see Section 3.8.2, "Dates") when the form XObject's contents were 70 * time (see Section 3.8.2, "Dates") when the form XObject's contents were
95 * most recently modified. If a page-piece dictionary (PieceInfo) is present, t he 71 * most recently modified. If a page-piece dictionary (PieceInfo) is present, t he
96 * modification date is used to ascertain which of the application data diction - 72 * modification date is used to ascertain which of the application data diction -
97 * aries it contains correspond to the current content of the form (see Section 73 * aries it contains correspond to the current content of the form (see Section
98 * 9.4, "Page-Piece Dictionaries"). 74 * 9.4, "Page-Piece Dictionaries").
99 **/ 75 **/
100 bool has_LastModified() const { 76 bool has_LastModified() const {
101 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastM odified", "", NULL)); 77 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastM odified", "", NULL));
102 } 78 }
103 79
104 SkPdfDate LastModified() const { 80 SkPdfDate LastModified() const;
105 SkPdfDate ret;
106 if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModifie d", "", &ret)) return ret;
107 // TODO(edisonn): warn about missing required field, assert for known good p dfs
108 return SkPdfDate();
109 }
110
111 /** (Required) An array of four numbers in the form coordinate system (see 81 /** (Required) An array of four numbers in the form coordinate system (see
112 * below), giving the coordinates of the left, bottom, right, and top edges, 82 * below), giving the coordinates of the left, bottom, right, and top edges,
113 * respectively, of the form XObject's bounding box. These boundaries are used 83 * respectively, of the form XObject's bounding box. These boundaries are used
114 * to clip the form XObject and to determine its size for caching. 84 * to clip the form XObject and to determine its size for caching.
115 **/ 85 **/
116 bool has_BBox() const { 86 bool has_BBox() const {
117 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox" , "", NULL)); 87 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox" , "", NULL));
118 } 88 }
119 89
120 SkRect* BBox() const { 90 SkRect* BBox() const;
121 SkRect* ret;
122 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "" , &ret)) return ret;
123 // TODO(edisonn): warn about missing required field, assert for known good p dfs
124 return NULL;
125 }
126
127 /** (Optional) An array of six numbers specifying the form matrix, which maps 91 /** (Optional) An array of six numbers specifying the form matrix, which maps
128 * form space into user space (see Section 4.2.3, "Transformation Matrices"). 92 * form space into user space (see Section 4.2.3, "Transformation Matrices").
129 * Default value: the identity matrix [1 0 0 1 0 0]. 93 * Default value: the identity matrix [1 0 0 1 0 0].
130 **/ 94 **/
131 bool has_Matrix() const { 95 bool has_Matrix() const {
132 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matri x", "", NULL)); 96 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matri x", "", NULL));
133 } 97 }
134 98
135 SkMatrix* Matrix() const { 99 SkMatrix* Matrix() const;
136 SkMatrix* ret;
137 if (SkMatrixFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix" , "", &ret)) return ret;
138 // TODO(edisonn): warn about missing required field, assert for known good p dfs
139 return NULL;
140 }
141
142 /** (Optional but strongly recommended; PDF 1.2) A dictionary specifying any 100 /** (Optional but strongly recommended; PDF 1.2) A dictionary specifying any
143 * resources (such as fonts and images) required by the form XObject (see Sec- 101 * resources (such as fonts and images) required by the form XObject (see Sec-
144 * tion 3.7, "Content Streams and Resources"). 102 * tion 3.7, "Content Streams and Resources").
145 * In PDF 1.1 and earlier, all named resources used in the form XObject must be 103 * In PDF 1.1 and earlier, all named resources used in the form XObject must be
146 * included in the resource dictionary of each page object on which the form 104 * included in the resource dictionary of each page object on which the form
147 * XObject appears, whether or not they also appear in the resource dictionary 105 * XObject appears, whether or not they also appear in the resource dictionary
148 * of the form XObject itself. It can be useful to specify these resources in t he 106 * of the form XObject itself. It can be useful to specify these resources in t he
149 * form XObject's own resource dictionary as well, in order to determine which 107 * form XObject's own resource dictionary as well, in order to determine which
150 * resources are used inside the form XObject. If a resource is included in bot h 108 * resources are used inside the form XObject. If a resource is included in bot h
151 * dictionaries, it should have the same name in both locations. 109 * dictionaries, it should have the same name in both locations.
152 * In PDF 1.2 and later versions, form XObjects can be independent of the 110 * In PDF 1.2 and later versions, form XObjects can be independent of the
153 * content streams in which they appear, and this is strongly recommended 111 * content streams in which they appear, and this is strongly recommended
154 * although not required. In an independent form XObject, the resource dic - 112 * although not required. In an independent form XObject, the resource dic -
155 * tionary of the form XObject is required and contains all named resource s 113 * tionary of the form XObject is required and contains all named resource s
156 * used by the form XObject. These resources are not "promoted" to the out er 114 * used by the form XObject. These resources are not "promoted" to the out er
157 * content stream's resource dictionary, although that stream's resource d iction- 115 * content stream's resource dictionary, although that stream's resource d iction-
158 * ary will refer to the form XObject itself. 116 * ary will refer to the form XObject itself.
159 **/ 117 **/
160 bool has_Resources() const { 118 bool has_Resources() const {
161 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", NULL)); 119 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", NULL));
162 } 120 }
163 121
164 SkPdfResourceDictionary* Resources() const { 122 SkPdfResourceDictionary* Resources() const;
165 SkPdfResourceDictionary* ret;
166 if (DictionaryFromDictionary2(fPodofoDoc, fPodofoObj->GetDictionary(), "Reso urces", "", &ret)) return ret;
167 // TODO(edisonn): warn about missing required field, assert for known good p dfs
168 return NULL;
169 }
170
171 /** (Optional; PDF 1.4) A group attributes dictionary indicating that the conten ts 123 /** (Optional; PDF 1.4) A group attributes dictionary indicating that the conten ts
172 * of the form XObject are to be treated as a group and specifying the attribut es 124 * of the form XObject are to be treated as a group and specifying the attribut es
173 * of that group (see Section 4.9.2, "Group XObjects"). 125 * of that group (see Section 4.9.2, "Group XObjects").
174 * Note: If a Ref entry (see below) is present, the group attributes also apply to the 126 * Note: If a Ref entry (see below) is present, the group attributes also apply to the
175 * external page imported by that entry. This allows such an imported page to b e 127 * external page imported by that entry. This allows such an imported page to b e
176 * treated as a group without further modification. 128 * treated as a group without further modification.
177 **/ 129 **/
178 bool has_Group() const { 130 bool has_Group() const {
179 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", NULL)); 131 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", NULL));
180 } 132 }
181 133
182 SkPdfDictionary* Group() const { 134 SkPdfDictionary* Group() const;
183 SkPdfDictionary* ret;
184 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group ", "", &ret)) return ret;
185 // TODO(edisonn): warn about missing required field, assert for known good p dfs
186 return NULL;
187 }
188
189 /** (Optional; PDF 1.4) A reference dictionary identifying a page to be imported 135 /** (Optional; PDF 1.4) A reference dictionary identifying a page to be imported
190 * from another PDF file, and for which the form XObject serves as a proxy (see 136 * from another PDF file, and for which the form XObject serves as a proxy (see
191 * Section 4.9.3, "Reference XObjects"). 137 * Section 4.9.3, "Reference XObjects").
192 **/ 138 **/
193 bool has_Ref() const { 139 bool has_Ref() const {
194 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ref", "", NULL)); 140 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ref", "", NULL));
195 } 141 }
196 142
197 SkPdfDictionary* Ref() const { 143 SkPdfDictionary* Ref() const;
198 SkPdfDictionary* ret;
199 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ref", "", &ret)) return ret;
200 // TODO(edisonn): warn about missing required field, assert for known good p dfs
201 return NULL;
202 }
203
204 /** (Optional; PDF 1.4) A metadata stream containing metadata for the form 144 /** (Optional; PDF 1.4) A metadata stream containing metadata for the form
205 * XObject (see Section 9.2.2, "Metadata Streams"). 145 * XObject (see Section 9.2.2, "Metadata Streams").
206 **/ 146 **/
207 bool has_Metadata() const { 147 bool has_Metadata() const {
208 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metad ata", "", NULL)); 148 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metad ata", "", NULL));
209 } 149 }
210 150
211 SkPdfStream* Metadata() const { 151 SkPdfStream* Metadata() const;
212 SkPdfStream* ret;
213 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata" , "", &ret)) return ret;
214 // TODO(edisonn): warn about missing required field, assert for known good p dfs
215 return NULL;
216 }
217
218 /** (Optional; PDF 1.3) A page-piece dictionary associated with the form 152 /** (Optional; PDF 1.3) A page-piece dictionary associated with the form
219 * XObject (see Section 9.4, "Page-Piece Dictionaries"). 153 * XObject (see Section 9.4, "Page-Piece Dictionaries").
220 **/ 154 **/
221 bool has_PieceInfo() const { 155 bool has_PieceInfo() const {
222 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", NULL)); 156 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", NULL));
223 } 157 }
224 158
225 SkPdfDictionary* PieceInfo() const { 159 SkPdfDictionary* PieceInfo() const;
226 SkPdfDictionary* ret;
227 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Piece Info", "", &ret)) return ret;
228 // TODO(edisonn): warn about missing required field, assert for known good p dfs
229 return NULL;
230 }
231
232 /** (Required if the form XObject is a structural content item; PDF 1.3) The int eger 160 /** (Required if the form XObject is a structural content item; PDF 1.3) The int eger
233 * key of the form XObject's entry in the structural parent tree (see "Finding 161 * key of the form XObject's entry in the structural parent tree (see "Finding
234 * Structure Elements from Content Items" on page 600). 162 * Structure Elements from Content Items" on page 600).
235 **/ 163 **/
236 bool has_StructParent() const { 164 bool has_StructParent() const {
237 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParent", "", NULL)); 165 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParent", "", NULL));
238 } 166 }
239 167
240 long StructParent() const { 168 long StructParent() const;
241 long ret;
242 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParen t", "", &ret)) return ret;
243 // TODO(edisonn): warn about missing required field, assert for known good p dfs
244 return 0;
245 }
246
247 /** (Required if the form XObject contains marked-content sequences that are str uc- 169 /** (Required if the form XObject contains marked-content sequences that are str uc-
248 * tural content items; PDF 1.3) The integer key of the form XObject's entry in 170 * tural content items; PDF 1.3) The integer key of the form XObject's entry in
249 * the structural parent tree (see "Finding Structure Elements from Content 171 * the structural parent tree (see "Finding Structure Elements from Content
250 * Items" on page 600). 172 * Items" on page 600).
251 * Note: At most one of the entries StructParent or StructParents may be presen t. A 173 * Note: At most one of the entries StructParent or StructParents may be presen t. A
252 * form XObject can be either a content item in its entirety or a container for 174 * form XObject can be either a content item in its entirety or a container for
253 * marked-content sequences that are content items, but not both. 175 * marked-content sequences that are content items, but not both.
254 **/ 176 **/
255 bool has_StructParents() const { 177 bool has_StructParents() const {
256 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParents", "", NULL)); 178 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Struc tParents", "", NULL));
257 } 179 }
258 180
259 long StructParents() const { 181 long StructParents() const;
260 long ret;
261 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParen ts", "", &ret)) return ret;
262 // TODO(edisonn): warn about missing required field, assert for known good p dfs
263 return 0;
264 }
265
266 /** (Optional; PDF 1.2) An OPI version dictionary for the form XObject (see 182 /** (Optional; PDF 1.2) An OPI version dictionary for the form XObject (see
267 * Section 9.10.6, "Open Prepress Interface (OPI)"). 183 * Section 9.10.6, "Open Prepress Interface (OPI)").
268 **/ 184 **/
269 bool has_OPI() const { 185 bool has_OPI() const {
270 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", NULL)); 186 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", NULL));
271 } 187 }
272 188
273 SkPdfDictionary* OPI() const { 189 SkPdfDictionary* OPI() const;
274 SkPdfDictionary* ret;
275 if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", &ret)) return ret;
276 // TODO(edisonn): warn about missing required field, assert for known good p dfs
277 return NULL;
278 }
279
280 }; 190 };
281 191
282 #endif // __DEFINED__SkPdfType1FormDictionary 192 #endif // __DEFINED__SkPdfType1FormDictionary
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698