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 "SkPdfGoToActionDictionary_autogen.h" 9 #include "SkPdfNativeDoc.h" 10 11 SkString SkPdfGoToActionDictionary::S(SkPdfNativeDoc* doc) { 12 SkPdfNativeObject* ret = get("S", ""); 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 SkPdfGoToActionDictionary::has_S() const { 20 return get("S", "") != NULL; 21 } 22 23 bool SkPdfGoToActionDictionary::isDAName(SkPdfNativeDoc* doc) { 24 SkPdfNativeObject* ret = get("D", ""); 25 if (doc) {ret = doc->resolveReference(ret);} 26 return ret != NULL && ret->isName(); 27 } 28 29 SkString SkPdfGoToActionDictionary::getDAsName(SkPdfNativeDoc* doc) { 30 SkPdfNativeObject* ret = get("D", ""); 31 if (doc) {ret = doc->resolveReference(ret);} 32 if ((ret != NULL && ret->isName()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->nameValue2(); 33 // TODO(edisonn): warn about missing required field, assert for known good pdfs 34 return SkString(); 35 } 36 37 bool SkPdfGoToActionDictionary::isDAString(SkPdfNativeDoc* doc) { 38 SkPdfNativeObject* ret = get("D", ""); 39 if (doc) {ret = doc->resolveReference(ret);} 40 return ret != NULL && ret->isAnyString(); 41 } 42 43 SkString SkPdfGoToActionDictionary::getDAsString(SkPdfNativeDoc* doc) { 44 SkPdfNativeObject* ret = get("D", ""); 45 if (doc) {ret = doc->resolveReference(ret);} 46 if ((ret != NULL && ret->isAnyString()) || (doc == NULL && ret != NULL && ret->isReference())) return ret->stringValue2(); 47 // TODO(edisonn): warn about missing required field, assert for known good pdfs 48 return SkString(); 49 } 50 51 bool SkPdfGoToActionDictionary::isDAArray(SkPdfNativeDoc* doc) { 52 SkPdfNativeObject* ret = get("D", ""); 53 if (doc) {ret = doc->resolveReference(ret);} 54 return ret != NULL && ret->isArray(); 55 } 56 57 SkPdfArray* SkPdfGoToActionDictionary::getDAsArray(SkPdfNativeDoc* doc) { 58 SkPdfNativeObject* ret = get("D", ""); 59 if (doc) {ret = doc->resolveReference(ret);} 60 if ((ret != NULL && ret->isArray()) || (doc == NULL && ret != NULL && ret->isReference())) return (SkPdfArray*)ret; 61 // TODO(edisonn): warn about missing required field, assert for known good pdfs 62 return NULL; 63 } 64 65 bool SkPdfGoToActionDictionary::has_D() const { 66 return get("D", "") != NULL; 67 } 68