Home | History | Annotate | Download | only in pdfapi
      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