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 "SkPdfPageObjectDictionary_autogen.h" 9 #include "SkPdfNativeDoc.h" 10 11 SkString SkPdfPageObjectDictionary::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 required field, assert for known good pdfs 16 return SkString(); 17 } 18 19 bool SkPdfPageObjectDictionary::has_Type() const { 20 return get("Type", "") != NULL; 21 } 22 23 SkPdfDictionary* SkPdfPageObjectDictionary::Parent(SkPdfNativeDoc* doc) { 24 SkPdfNativeObject* ret = get("Parent", ""); 25 if (doc) {ret = doc->resolveReference(ret);} 26 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 27 // TODO(edisonn): warn about missing default value for optional fields 28 return NULL; 29 } 30 31 bool SkPdfPageObjectDictionary::has_Parent() const { 32 return get("Parent", "") != NULL; 33 } 34 35 SkPdfDate SkPdfPageObjectDictionary::LastModified(SkPdfNativeDoc* doc) { 36 SkPdfNativeObject* ret = get("LastModified", ""); 37 if (doc) {ret = doc->resolveReference(ret);} 38 if ((ret != NULL && ret->isDate()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->dateValue(); 39 // TODO(edisonn): warn about missing default value for optional fields 40 return SkPdfDate(); 41 } 42 43 bool SkPdfPageObjectDictionary::has_LastModified() const { 44 return get("LastModified", "") != NULL; 45 } 46 47 SkPdfResourceDictionary* SkPdfPageObjectDictionary::Resources(SkPdfNativeDoc* doc) { 48 SkPdfNativeObject* ret = get("Resources", ""); 49 if (doc) {ret = doc->resolveReference(ret);} 50 if ((ret != NULL && ret->isDictionary() && ((SkPdfResourceDictionary*)ret)->valid()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfResourceDictionary*)ret; 51 // TODO(edisonn): warn about missing required field, assert for known good pdfs 52 return NULL; 53 } 54 55 bool SkPdfPageObjectDictionary::has_Resources() const { 56 return get("Resources", "") != NULL; 57 } 58 59 SkRect SkPdfPageObjectDictionary::MediaBox(SkPdfNativeDoc* doc) { 60 SkPdfNativeObject* ret = get("MediaBox", ""); 61 if (doc) {ret = doc->resolveReference(ret);} 62 if ((ret != NULL && ret->isRectangle()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->rectangleValue(); 63 // TODO(edisonn): warn about missing required field, assert for known good pdfs 64 return SkRect::MakeEmpty(); 65 } 66 67 bool SkPdfPageObjectDictionary::has_MediaBox() const { 68 return get("MediaBox", "") != NULL; 69 } 70 71 SkRect SkPdfPageObjectDictionary::CropBox(SkPdfNativeDoc* doc) { 72 SkPdfNativeObject* ret = get("CropBox", ""); 73 if (doc) {ret = doc->resolveReference(ret);} 74 if ((ret != NULL && ret->isRectangle()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->rectangleValue(); 75 // TODO(edisonn): warn about missing default value for optional fields 76 return SkRect::MakeEmpty(); 77 } 78 79 bool SkPdfPageObjectDictionary::has_CropBox() const { 80 return get("CropBox", "") != NULL; 81 } 82 83 SkRect SkPdfPageObjectDictionary::BleedBox(SkPdfNativeDoc* doc) { 84 SkPdfNativeObject* ret = get("BleedBox", ""); 85 if (doc) {ret = doc->resolveReference(ret);} 86 if ((ret != NULL && ret->isRectangle()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->rectangleValue(); 87 // TODO(edisonn): warn about missing default value for optional fields 88 return SkRect::MakeEmpty(); 89 } 90 91 bool SkPdfPageObjectDictionary::has_BleedBox() const { 92 return get("BleedBox", "") != NULL; 93 } 94 95 SkRect SkPdfPageObjectDictionary::TrimBox(SkPdfNativeDoc* doc) { 96 SkPdfNativeObject* ret = get("TrimBox", ""); 97 if (doc) {ret = doc->resolveReference(ret);} 98 if ((ret != NULL && ret->isRectangle()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->rectangleValue(); 99 // TODO(edisonn): warn about missing default value for optional fields 100 return SkRect::MakeEmpty(); 101 } 102 103 bool SkPdfPageObjectDictionary::has_TrimBox() const { 104 return get("TrimBox", "") != NULL; 105 } 106 107 SkRect SkPdfPageObjectDictionary::ArtBox(SkPdfNativeDoc* doc) { 108 SkPdfNativeObject* ret = get("ArtBox", ""); 109 if (doc) {ret = doc->resolveReference(ret);} 110 if ((ret != NULL && ret->isRectangle()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->rectangleValue(); 111 // TODO(edisonn): warn about missing default value for optional fields 112 return SkRect::MakeEmpty(); 113 } 114 115 bool SkPdfPageObjectDictionary::has_ArtBox() const { 116 return get("ArtBox", "") != NULL; 117 } 118 119 SkPdfDictionary* SkPdfPageObjectDictionary::BoxColorInfo(SkPdfNativeDoc* doc) { 120 SkPdfNativeObject* ret = get("BoxColorInfo", ""); 121 if (doc) {ret = doc->resolveReference(ret);} 122 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 123 // TODO(edisonn): warn about missing default value for optional fields 124 return NULL; 125 } 126 127 bool SkPdfPageObjectDictionary::has_BoxColorInfo() const { 128 return get("BoxColorInfo", "") != NULL; 129 } 130 131 bool SkPdfPageObjectDictionary::isContentsAStream(SkPdfNativeDoc* doc) { 132 SkPdfNativeObject* ret = get("Contents", ""); 133 if (doc) {ret = doc->resolveReference(ret);} 134 return ret != NULL && ret->hasStream(); 135 } 136 137 SkPdfStream* SkPdfPageObjectDictionary::getContentsAsStream(SkPdfNativeDoc* doc) { 138 SkPdfNativeObject* ret = get("Contents", ""); 139 if (doc) {ret = doc->resolveReference(ret);} 140 if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream(); 141 // TODO(edisonn): warn about missing default value for optional fields 142 return NULL; 143 } 144 145 bool SkPdfPageObjectDictionary::isContentsAArray(SkPdfNativeDoc* doc) { 146 SkPdfNativeObject* ret = get("Contents", ""); 147 if (doc) {ret = doc->resolveReference(ret);} 148 return ret != NULL && ret->isArray(); 149 } 150 151 SkPdfArray* SkPdfPageObjectDictionary::getContentsAsArray(SkPdfNativeDoc* doc) { 152 SkPdfNativeObject* ret = get("Contents", ""); 153 if (doc) {ret = doc->resolveReference(ret);} 154 if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret; 155 // TODO(edisonn): warn about missing default value for optional fields 156 return NULL; 157 } 158 159 bool SkPdfPageObjectDictionary::has_Contents() const { 160 return get("Contents", "") != NULL; 161 } 162 163 int64_t SkPdfPageObjectDictionary::Rotate(SkPdfNativeDoc* doc) { 164 SkPdfNativeObject* ret = get("Rotate", ""); 165 if (doc) {ret = doc->resolveReference(ret);} 166 if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue(); 167 // TODO(edisonn): warn about missing default value for optional fields 168 return 0; 169 } 170 171 bool SkPdfPageObjectDictionary::has_Rotate() const { 172 return get("Rotate", "") != NULL; 173 } 174 175 SkPdfTransparencyGroupDictionary* SkPdfPageObjectDictionary::Group(SkPdfNativeDoc* doc) { 176 SkPdfNativeObject* ret = get("Group", ""); 177 if (doc) {ret = doc->resolveReference(ret);} 178 if ((ret != NULL && ret->isDictionary() && ((SkPdfTransparencyGroupDictionary*)ret)->valid()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfTransparencyGroupDictionary*)ret; 179 // TODO(edisonn): warn about missing default value for optional fields 180 return NULL; 181 } 182 183 bool SkPdfPageObjectDictionary::has_Group() const { 184 return get("Group", "") != NULL; 185 } 186 187 SkPdfStream* SkPdfPageObjectDictionary::Thumb(SkPdfNativeDoc* doc) { 188 SkPdfNativeObject* ret = get("Thumb", ""); 189 if (doc) {ret = doc->resolveReference(ret);} 190 if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream(); 191 // TODO(edisonn): warn about missing default value for optional fields 192 return NULL; 193 } 194 195 bool SkPdfPageObjectDictionary::has_Thumb() const { 196 return get("Thumb", "") != NULL; 197 } 198 199 SkPdfArray* SkPdfPageObjectDictionary::B(SkPdfNativeDoc* doc) { 200 SkPdfNativeObject* ret = get("B", ""); 201 if (doc) {ret = doc->resolveReference(ret);} 202 if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret; 203 // TODO(edisonn): warn about missing default value for optional fields 204 return NULL; 205 } 206 207 bool SkPdfPageObjectDictionary::has_B() const { 208 return get("B", "") != NULL; 209 } 210 211 double SkPdfPageObjectDictionary::Dur(SkPdfNativeDoc* doc) { 212 SkPdfNativeObject* ret = get("Dur", ""); 213 if (doc) {ret = doc->resolveReference(ret);} 214 if ((ret != NULL && ret->isNumber()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->numberValue(); 215 // TODO(edisonn): warn about missing default value for optional fields 216 return 0; 217 } 218 219 bool SkPdfPageObjectDictionary::has_Dur() const { 220 return get("Dur", "") != NULL; 221 } 222 223 SkPdfDictionary* SkPdfPageObjectDictionary::Trans(SkPdfNativeDoc* doc) { 224 SkPdfNativeObject* ret = get("Trans", ""); 225 if (doc) {ret = doc->resolveReference(ret);} 226 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 227 // TODO(edisonn): warn about missing default value for optional fields 228 return NULL; 229 } 230 231 bool SkPdfPageObjectDictionary::has_Trans() const { 232 return get("Trans", "") != NULL; 233 } 234 235 SkPdfArray* SkPdfPageObjectDictionary::Annots(SkPdfNativeDoc* doc) { 236 SkPdfNativeObject* ret = get("Annots", ""); 237 if (doc) {ret = doc->resolveReference(ret);} 238 if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret; 239 // TODO(edisonn): warn about missing default value for optional fields 240 return NULL; 241 } 242 243 bool SkPdfPageObjectDictionary::has_Annots() const { 244 return get("Annots", "") != NULL; 245 } 246 247 SkPdfDictionary* SkPdfPageObjectDictionary::AA(SkPdfNativeDoc* doc) { 248 SkPdfNativeObject* ret = get("AA", ""); 249 if (doc) {ret = doc->resolveReference(ret);} 250 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 251 // TODO(edisonn): warn about missing default value for optional fields 252 return NULL; 253 } 254 255 bool SkPdfPageObjectDictionary::has_AA() const { 256 return get("AA", "") != NULL; 257 } 258 259 SkPdfStream* SkPdfPageObjectDictionary::Metadata(SkPdfNativeDoc* doc) { 260 SkPdfNativeObject* ret = get("Metadata", ""); 261 if (doc) {ret = doc->resolveReference(ret);} 262 if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream(); 263 // TODO(edisonn): warn about missing default value for optional fields 264 return NULL; 265 } 266 267 bool SkPdfPageObjectDictionary::has_Metadata() const { 268 return get("Metadata", "") != NULL; 269 } 270 271 SkPdfDictionary* SkPdfPageObjectDictionary::PieceInfo(SkPdfNativeDoc* doc) { 272 SkPdfNativeObject* ret = get("PieceInfo", ""); 273 if (doc) {ret = doc->resolveReference(ret);} 274 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 275 // TODO(edisonn): warn about missing default value for optional fields 276 return NULL; 277 } 278 279 bool SkPdfPageObjectDictionary::has_PieceInfo() const { 280 return get("PieceInfo", "") != NULL; 281 } 282 283 int64_t SkPdfPageObjectDictionary::StructParents(SkPdfNativeDoc* doc) { 284 SkPdfNativeObject* ret = get("StructParents", ""); 285 if (doc) {ret = doc->resolveReference(ret);} 286 if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue(); 287 // TODO(edisonn): warn about missing default value for optional fields 288 return 0; 289 } 290 291 bool SkPdfPageObjectDictionary::has_StructParents() const { 292 return get("StructParents", "") != NULL; 293 } 294 295 SkString SkPdfPageObjectDictionary::ID(SkPdfNativeDoc* doc) { 296 SkPdfNativeObject* ret = get("ID", ""); 297 if (doc) {ret = doc->resolveReference(ret);} 298 if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2(); 299 // TODO(edisonn): warn about missing default value for optional fields 300 return SkString(); 301 } 302 303 bool SkPdfPageObjectDictionary::has_ID() const { 304 return get("ID", "") != NULL; 305 } 306 307 double SkPdfPageObjectDictionary::PZ(SkPdfNativeDoc* doc) { 308 SkPdfNativeObject* ret = get("PZ", ""); 309 if (doc) {ret = doc->resolveReference(ret);} 310 if ((ret != NULL && ret->isNumber()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->numberValue(); 311 // TODO(edisonn): warn about missing default value for optional fields 312 return 0; 313 } 314 315 bool SkPdfPageObjectDictionary::has_PZ() const { 316 return get("PZ", "") != NULL; 317 } 318 319 SkPdfDictionary* SkPdfPageObjectDictionary::SeparationInfo(SkPdfNativeDoc* doc) { 320 SkPdfNativeObject* ret = get("SeparationInfo", ""); 321 if (doc) {ret = doc->resolveReference(ret);} 322 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 323 // TODO(edisonn): warn about missing default value for optional fields 324 return NULL; 325 } 326 327 bool SkPdfPageObjectDictionary::has_SeparationInfo() const { 328 return get("SeparationInfo", "") != NULL; 329 } 330