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 11SkString 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 19bool SkPdfGoToActionDictionary::has_S() const { 20 return get("S", "") != NULL; 21} 22 23bool SkPdfGoToActionDictionary::isDAName(SkPdfNativeDoc* doc) { 24 SkPdfNativeObject* ret = get("D", ""); 25 if (doc) {ret = doc->resolveReference(ret);} 26 return ret != NULL && ret->isName(); 27} 28 29SkString 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 37bool SkPdfGoToActionDictionary::isDAString(SkPdfNativeDoc* doc) { 38 SkPdfNativeObject* ret = get("D", ""); 39 if (doc) {ret = doc->resolveReference(ret);} 40 return ret != NULL && ret->isAnyString(); 41} 42 43SkString 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 51bool SkPdfGoToActionDictionary::isDAArray(SkPdfNativeDoc* doc) { 52 SkPdfNativeObject* ret = get("D", ""); 53 if (doc) {ret = doc->resolveReference(ret);} 54 return ret != NULL && ret->isArray(); 55} 56 57SkPdfArray* 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 65bool SkPdfGoToActionDictionary::has_D() const { 66 return get("D", "") != NULL; 67} 68