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 "SkPdfCMapDictionary_autogen.h" 9#include "SkPdfNativeDoc.h" 10 11SkString SkPdfCMapDictionary::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 19bool SkPdfCMapDictionary::has_Type() const { 20 return get("Type", "") != NULL; 21} 22 23SkString SkPdfCMapDictionary::CMapName(SkPdfNativeDoc* doc) { 24 SkPdfNativeObject* ret = get("CMapName", ""); 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 SkPdfCMapDictionary::has_CMapName() const { 32 return get("CMapName", "") != NULL; 33} 34 35bool SkPdfCMapDictionary::isCIDSystemInfoADictionary(SkPdfNativeDoc* doc) { 36 SkPdfNativeObject* ret = get("CIDSystemInfo", ""); 37 if (doc) {ret = doc->resolveReference(ret);} 38 return ret != NULL && ret->isDictionary(); 39} 40 41SkPdfDictionary* SkPdfCMapDictionary::getCIDSystemInfoAsDictionary(SkPdfNativeDoc* doc) { 42 SkPdfNativeObject* ret = get("CIDSystemInfo", ""); 43 if (doc) {ret = doc->resolveReference(ret);} 44 if ((ret != NULL && ret->isDictionary()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfDictionary*)ret; 45 // TODO(edisonn): warn about missing required field, assert for known good pdfs 46 return NULL; 47} 48 49bool SkPdfCMapDictionary::isCIDSystemInfoAArray(SkPdfNativeDoc* doc) { 50 SkPdfNativeObject* ret = get("CIDSystemInfo", ""); 51 if (doc) {ret = doc->resolveReference(ret);} 52 return ret != NULL && ret->isArray(); 53} 54 55SkPdfArray* SkPdfCMapDictionary::getCIDSystemInfoAsArray(SkPdfNativeDoc* doc) { 56 SkPdfNativeObject* ret = get("CIDSystemInfo", ""); 57 if (doc) {ret = doc->resolveReference(ret);} 58 if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret; 59 // TODO(edisonn): warn about missing required field, assert for known good pdfs 60 return NULL; 61} 62 63bool SkPdfCMapDictionary::has_CIDSystemInfo() const { 64 return get("CIDSystemInfo", "") != NULL; 65} 66 67int64_t SkPdfCMapDictionary::WMode(SkPdfNativeDoc* doc) { 68 SkPdfNativeObject* ret = get("WMode", ""); 69 if (doc) {ret = doc->resolveReference(ret);} 70 if ((ret != NULL && ret->isInteger()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->intValue(); 71 // TODO(edisonn): warn about missing default value for optional fields 72 return 0; 73} 74 75bool SkPdfCMapDictionary::has_WMode() const { 76 return get("WMode", "") != NULL; 77} 78 79bool SkPdfCMapDictionary::isUseCMapAName(SkPdfNativeDoc* doc) { 80 SkPdfNativeObject* ret = get("UseCMap", ""); 81 if (doc) {ret = doc->resolveReference(ret);} 82 return ret != NULL && ret->isName(); 83} 84 85SkString SkPdfCMapDictionary::getUseCMapAsName(SkPdfNativeDoc* doc) { 86 SkPdfNativeObject* ret = get("UseCMap", ""); 87 if (doc) {ret = doc->resolveReference(ret);} 88 if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2(); 89 // TODO(edisonn): warn about missing default value for optional fields 90 return SkString(); 91} 92 93bool SkPdfCMapDictionary::isUseCMapAStream(SkPdfNativeDoc* doc) { 94 SkPdfNativeObject* ret = get("UseCMap", ""); 95 if (doc) {ret = doc->resolveReference(ret);} 96 return ret != NULL && ret->hasStream(); 97} 98 99SkPdfStream* SkPdfCMapDictionary::getUseCMapAsStream(SkPdfNativeDoc* doc) { 100 SkPdfNativeObject* ret = get("UseCMap", ""); 101 if (doc) {ret = doc->resolveReference(ret);} 102 if ((ret != NULL && ret->hasStream()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->getStream(); 103 // TODO(edisonn): warn about missing default value for optional fields 104 return NULL; 105} 106 107bool SkPdfCMapDictionary::has_UseCMap() const { 108 return get("UseCMap", "") != NULL; 109} 110