1/*
2 * Copyright 2013 Google Inc.
3
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkPdfImageDictionary_autogen.h"
9#include "SkPdfNativeDoc.h"
10
11SkString SkPdfImageDictionary::Type(SkPdfNativeDoc* doc) {
12  SkPdfNativeObject* ret = get("Type", "");
13  if (doc) {ret = doc->resolveReference(ret);}
14  if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
15  // TODO(edisonn): warn about missing default value for optional fields
16  return SkString();
17}
18
19bool SkPdfImageDictionary::has_Type() const {
20  return get("Type", "") != NULL;
21}
22
23SkString SkPdfImageDictionary::Subtype(SkPdfNativeDoc* doc) {
24  SkPdfNativeObject* ret = get("Subtype", "");
25  if (doc) {ret = doc->resolveReference(ret);}
26  if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
27  // TODO(edisonn): warn about missing required field, assert for known good pdfs
28  return SkString();
29}
30
31bool SkPdfImageDictionary::has_Subtype() const {
32  return get("Subtype", "") != NULL;
33}
34
35int64_t SkPdfImageDictionary::Width(SkPdfNativeDoc* doc) {
36  SkPdfNativeObject* ret = get("Width", "");
37  if (doc) {ret = doc->resolveReference(ret);}
38  if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue();
39  // TODO(edisonn): warn about missing required field, assert for known good pdfs
40  return 0;
41}
42
43bool SkPdfImageDictionary::has_Width() const {
44  return get("Width", "") != NULL;
45}
46
47int64_t SkPdfImageDictionary::Height(SkPdfNativeDoc* doc) {
48  SkPdfNativeObject* ret = get("Height", "");
49  if (doc) {ret = doc->resolveReference(ret);}
50  if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue();
51  // TODO(edisonn): warn about missing required field, assert for known good pdfs
52  return 0;
53}
54
55bool SkPdfImageDictionary::has_Height() const {
56  return get("Height", "") != NULL;
57}
58
59bool SkPdfImageDictionary::isColorSpaceAName(SkPdfNativeDoc* doc) {
60  SkPdfNativeObject* ret = get("ColorSpace", "");
61  if (doc) {ret = doc->resolveReference(ret);}
62  return ret != NULL && ret->isName();
63}
64
65SkString SkPdfImageDictionary::getColorSpaceAsName(SkPdfNativeDoc* doc) {
66  SkPdfNativeObject* ret = get("ColorSpace", "");
67  if (doc) {ret = doc->resolveReference(ret);}
68  if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
69  // TODO(edisonn): warn about missing default value for optional fields
70  return SkString();
71}
72
73bool SkPdfImageDictionary::isColorSpaceAArray(SkPdfNativeDoc* doc) {
74  SkPdfNativeObject* ret = get("ColorSpace", "");
75  if (doc) {ret = doc->resolveReference(ret);}
76  return ret != NULL && ret->isArray();
77}
78
79SkPdfArray* SkPdfImageDictionary::getColorSpaceAsArray(SkPdfNativeDoc* doc) {
80  SkPdfNativeObject* ret = get("ColorSpace", "");
81  if (doc) {ret = doc->resolveReference(ret);}
82  if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
83  // TODO(edisonn): warn about missing default value for optional fields
84  return NULL;
85}
86
87bool SkPdfImageDictionary::has_ColorSpace() const {
88  return get("ColorSpace", "") != NULL;
89}
90
91int64_t SkPdfImageDictionary::BitsPerComponent(SkPdfNativeDoc* doc) {
92  SkPdfNativeObject* ret = get("BitsPerComponent", "");
93  if (doc) {ret = doc->resolveReference(ret);}
94  if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue();
95  // TODO(edisonn): warn about missing default value for optional fields
96  return 0;
97}
98
99bool SkPdfImageDictionary::has_BitsPerComponent() const {
100  return get("BitsPerComponent", "") != NULL;
101}
102
103SkString SkPdfImageDictionary::Intent(SkPdfNativeDoc* doc) {
104  SkPdfNativeObject* ret = get("Intent", "");
105  if (doc) {ret = doc->resolveReference(ret);}
106  if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
107  // TODO(edisonn): warn about missing default value for optional fields
108  return SkString();
109}
110
111bool SkPdfImageDictionary::has_Intent() const {
112  return get("Intent", "") != NULL;
113}
114
115bool SkPdfImageDictionary::ImageMask(SkPdfNativeDoc* doc) {
116  SkPdfNativeObject* ret = get("ImageMask", "");
117  if (doc) {ret = doc->resolveReference(ret);}
118  if ((ret != NULL && ret->isBoolean()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->boolValue();
119  // TODO(edisonn): warn about missing default value for optional fields
120  return false;
121}
122
123bool SkPdfImageDictionary::has_ImageMask() const {
124  return get("ImageMask", "") != NULL;
125}
126
127bool SkPdfImageDictionary::isMaskAStream(SkPdfNativeDoc* doc) {
128  SkPdfNativeObject* ret = get("Mask", "");
129  if (doc) {ret = doc->resolveReference(ret);}
130  return ret != NULL && ret->hasStream();
131}
132
133SkPdfStream* SkPdfImageDictionary::getMaskAsStream(SkPdfNativeDoc* doc) {
134  SkPdfNativeObject* ret = get("Mask", "");
135  if (doc) {ret = doc->resolveReference(ret);}
136  if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream();
137  // TODO(edisonn): warn about missing default value for optional fields
138  return NULL;
139}
140
141bool SkPdfImageDictionary::isMaskAArray(SkPdfNativeDoc* doc) {
142  SkPdfNativeObject* ret = get("Mask", "");
143  if (doc) {ret = doc->resolveReference(ret);}
144  return ret != NULL && ret->isArray();
145}
146
147SkPdfArray* SkPdfImageDictionary::getMaskAsArray(SkPdfNativeDoc* doc) {
148  SkPdfNativeObject* ret = get("Mask", "");
149  if (doc) {ret = doc->resolveReference(ret);}
150  if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
151  // TODO(edisonn): warn about missing default value for optional fields
152  return NULL;
153}
154
155bool SkPdfImageDictionary::has_Mask() const {
156  return get("Mask", "") != NULL;
157}
158
159SkPdfImageDictionary* SkPdfImageDictionary::SMask(SkPdfNativeDoc* doc) {
160  SkPdfNativeObject* ret = get("SMask", "");
161  if (doc) {ret = doc->resolveReference(ret);}
162  if ((ret != NULL && ret->isDictionary() && ((SkPdfImageDictionary*)ret)->valid()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfImageDictionary*)ret;
163  // TODO(edisonn): warn about missing default value for optional fields
164  return NULL;
165}
166
167bool SkPdfImageDictionary::has_SMask() const {
168  return get("SMask", "") != NULL;
169}
170
171SkPdfArray* SkPdfImageDictionary::Decode(SkPdfNativeDoc* doc) {
172  SkPdfNativeObject* ret = get("Decode", "");
173  if (doc) {ret = doc->resolveReference(ret);}
174  if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
175  // TODO(edisonn): warn about missing default value for optional fields
176  return NULL;
177}
178
179bool SkPdfImageDictionary::has_Decode() const {
180  return get("Decode", "") != NULL;
181}
182
183bool SkPdfImageDictionary::Interpolate(SkPdfNativeDoc* doc) {
184  SkPdfNativeObject* ret = get("Interpolate", "");
185  if (doc) {ret = doc->resolveReference(ret);}
186  if ((ret != NULL && ret->isBoolean()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->boolValue();
187  // TODO(edisonn): warn about missing default value for optional fields
188  return false;
189}
190
191bool SkPdfImageDictionary::has_Interpolate() const {
192  return get("Interpolate", "") != NULL;
193}
194
195SkPdfArray* SkPdfImageDictionary::Alternates(SkPdfNativeDoc* doc) {
196  SkPdfNativeObject* ret = get("Alternates", "");
197  if (doc) {ret = doc->resolveReference(ret);}
198  if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret;
199  // TODO(edisonn): warn about missing default value for optional fields
200  return NULL;
201}
202
203bool SkPdfImageDictionary::has_Alternates() const {
204  return get("Alternates", "") != NULL;
205}
206
207SkString SkPdfImageDictionary::Name(SkPdfNativeDoc* doc) {
208  SkPdfNativeObject* ret = get("Name", "");
209  if (doc) {ret = doc->resolveReference(ret);}
210  if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2();
211  // TODO(edisonn): warn about missing default value for optional fields
212  return SkString();
213}
214
215bool SkPdfImageDictionary::has_Name() const {
216  return get("Name", "") != NULL;
217}
218
219int64_t SkPdfImageDictionary::StructParent(SkPdfNativeDoc* doc) {
220  SkPdfNativeObject* ret = get("StructParent", "");
221  if (doc) {ret = doc->resolveReference(ret);}
222  if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue();
223  // TODO(edisonn): warn about missing default value for optional fields
224  return 0;
225}
226
227bool SkPdfImageDictionary::has_StructParent() const {
228  return get("StructParent", "") != NULL;
229}
230
231SkString SkPdfImageDictionary::ID(SkPdfNativeDoc* doc) {
232  SkPdfNativeObject* ret = get("ID", "");
233  if (doc) {ret = doc->resolveReference(ret);}
234  if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2();
235  // TODO(edisonn): warn about missing default value for optional fields
236  return SkString();
237}
238
239bool SkPdfImageDictionary::has_ID() const {
240  return get("ID", "") != NULL;
241}
242
243SkPdfDictionary* SkPdfImageDictionary::OPI(SkPdfNativeDoc* doc) {
244  SkPdfNativeObject* ret = get("OPI", "");
245  if (doc) {ret = doc->resolveReference(ret);}
246  if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret;
247  // TODO(edisonn): warn about missing default value for optional fields
248  return NULL;
249}
250
251bool SkPdfImageDictionary::has_OPI() const {
252  return get("OPI", "") != NULL;
253}
254
255SkPdfStream* SkPdfImageDictionary::Metadata(SkPdfNativeDoc* doc) {
256  SkPdfNativeObject* ret = get("Metadata", "");
257  if (doc) {ret = doc->resolveReference(ret);}
258  if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream();
259  // TODO(edisonn): warn about missing default value for optional fields
260  return NULL;
261}
262
263bool SkPdfImageDictionary::has_Metadata() const {
264  return get("Metadata", "") != NULL;
265}
266