put each generated pdf api class in a file (step 1, add new files)
authoredisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 18 Jun 2013 16:28:29 +0000 (16:28 +0000)
committeredisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 18 Jun 2013 16:28:29 +0000 (16:28 +0000)
Review URL: https://codereview.chromium.org/17395005

git-svn-id: http://skia.googlecode.com/svn/trunk@9661 2bbb7eff-a529-9590-31e7-b0007b416f81

181 files changed:
experimental/PdfViewer/SkPdfALinkAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAlternateImageDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAnnotationActionsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAppearanceCharacteristicsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAppearanceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfApplicationDataDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfArray_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfArtifactsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfAttributeObjectDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBeadDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBlockLevelStructureElementsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBoolean_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBorderStyleDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBoxColorInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfBoxStyleDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCIDFontDescriptorDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCIDFontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCIDSystemInfoDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCMapDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCalgrayColorSpaceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCalrgbColorSpaceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCatalogDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCcittfaxdecodeFilterDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfCheckboxFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfChoiceFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfComponentsWithMetadataDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfDctdecodeFilterDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfDeviceNColorSpaceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfDocumentCatalogActionsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfDocumentInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEmbeddedFileParameterDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEmbeddedFileStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEmbeddedFontStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEncodingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEncryptedEmbeddedFileStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEncryptionCommonDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfEnums_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFCatalogDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFFileAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFNamedPageReferenceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFPageDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFTemplateDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFDFTrailerDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFileAttachmentAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFileSpecificationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFileTrailerDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFontDescriptorDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFormFieldActionsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFreeTextAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfFunctionCommonDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfGoToActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfGraphicsStateDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfGroupAttributesDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfHeaders_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfHexString_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfHideActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfIccProfileStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfIconFitDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfImageDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfImportDataActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfInkAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfInlineLevelStructureElementsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfInteger_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfInteractiveFormDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfJavascriptActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfJavascriptDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfJbig2DecodeFilterDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfLabColorSpaceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfLaunchActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfLineAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfListAttributeDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfLzwdecodeAndFlatedecodeFiltersDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMacOsFileInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMarkInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMarkedContentReferenceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMarkupAnnotationsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMetadataStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMovieActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMovieActivationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMovieAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMovieDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfMultiMasterFontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNameDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNameTreeNodeDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfName_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNamedActionsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNull_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNumberTreeNodeDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfNumber_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfObjectReferenceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfObject_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfOpiVersionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfOutlineDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfOutlineItemDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPDF_XOutputIntentDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPSXobjectDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPageLabelDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPageObjectActionsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPageObjectDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPagePieceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPageTreeNodeDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPodofoMapper_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPopUpAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPrinterMarkAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfPrinterMarkFormDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfRadioButtonFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfReferenceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfReference_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfRemoteGoToActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfResetFormActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfResourceDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfRubberStampAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSeparationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSignatureDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSoftMaskDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSoftMaskImageDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSoundActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSoundAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSoundObjectDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSourceInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSquareOrCircleAnnotation_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStandardSecurityHandlerDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStandardStructureDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStreamCommonDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfString_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStructureElementAccessDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStructureElementDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfStructureTreeRootDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfSubmitFormActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTableAttributesDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTextAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTextFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfThreadActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfThreadDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTransitionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTransparencyGroupDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTrapNetworkAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTrapNetworkAppearanceStreamDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfTrueTypeFontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType0FontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType0FunctionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType10HalftoneDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType16HalftoneDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType1FontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType1FormDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType1HalftoneDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType1PatternDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType1ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType2FunctionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType2PatternDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType2ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType3FontDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType3FunctionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType3ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType4ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType5HalftoneDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType5ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType6HalftoneDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfType6ShadingDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfURIActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfURIDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfURLAliasDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfVariableTextFieldDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfViewerPreferencesDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCaptureCommandDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCaptureCommandSettingsDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCaptureDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCaptureImageSetDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCaptureInformationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWebCapturePageSetDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWidgetAnnotationDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfWindowsLaunchActionDictionary_autogen.h [new file with mode: 0644]
experimental/PdfViewer/SkPdfXObjectDictionary_autogen.h [new file with mode: 0644]

diff --git a/experimental/PdfViewer/SkPdfALinkAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfALinkAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..1e96386
--- /dev/null
@@ -0,0 +1,593 @@
+#ifndef __DEFINED__SkPdfALinkAnnotationDictionary
+#define __DEFINED__SkPdfALinkAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfALinkAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryALinkAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryALinkAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return this;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfALinkAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfALinkAnnotationDictionary& operator=(const SkPdfALinkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDestAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getDestAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isDestAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDestAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDestAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDestAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string H() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* PA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfALinkAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..64e6584
--- /dev/null
@@ -0,0 +1,566 @@
+#ifndef __DEFINED__SkPdfActionDictionary
+#define __DEFINED__SkPdfActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfActionDictionary* asActionDictionary() {return this;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfActionDictionary& operator=(const SkPdfActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isNextADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getNextAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isNextAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getNextAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfActionDictionary
diff --git a/experimental/PdfViewer/SkPdfAlternateImageDictionary_autogen.h b/experimental/PdfViewer/SkPdfAlternateImageDictionary_autogen.h
new file mode 100644 (file)
index 0000000..80b21e1
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfAlternateImageDictionary
+#define __DEFINED__SkPdfAlternateImageDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAlternateImageDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAlternateImageDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAlternateImageDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return this;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAlternateImageDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAlternateImageDictionary& operator=(const SkPdfAlternateImageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfStream Image() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Image", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool DefaultForPrinting() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DefaultForPrinting", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAlternateImageDictionary
diff --git a/experimental/PdfViewer/SkPdfAnnotationActionsDictionary_autogen.h b/experimental/PdfViewer/SkPdfAnnotationActionsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..1b49477
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfAnnotationActionsDictionary
+#define __DEFINED__SkPdfAnnotationActionsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAnnotationActionsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAnnotationActionsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAnnotationActionsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return this;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAnnotationActionsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAnnotationActionsDictionary& operator=(const SkPdfAnnotationActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* E() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "E", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* X() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "X", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* D() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* U() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Fo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Bl() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bl", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAnnotationActionsDictionary
diff --git a/experimental/PdfViewer/SkPdfAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..49170e3
--- /dev/null
@@ -0,0 +1,671 @@
+#ifndef __DEFINED__SkPdfAnnotationDictionary
+#define __DEFINED__SkPdfAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return this;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAnnotationDictionary& operator=(const SkPdfAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* P() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkRect Rect() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rect", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  bool isMADate() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfDate getMAsDate() const {
+    SkPdfDate ret = SkPdfDate();
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  bool isMAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getMAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long F() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* BS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Border() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Border", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* AP() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string AS() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray C() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  double CA() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Popup() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Popup", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* A() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* AA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long StructParent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfAppearanceCharacteristicsDictionary_autogen.h b/experimental/PdfViewer/SkPdfAppearanceCharacteristicsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..954f106
--- /dev/null
@@ -0,0 +1,603 @@
+#ifndef __DEFINED__SkPdfAppearanceCharacteristicsDictionary
+#define __DEFINED__SkPdfAppearanceCharacteristicsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAppearanceCharacteristicsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAppearanceCharacteristicsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAppearanceCharacteristicsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return this;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAppearanceCharacteristicsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAppearanceCharacteristicsDictionary& operator=(const SkPdfAppearanceCharacteristicsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long R() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray BC() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray BG() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string CA() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string RC() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string AC() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream I() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfStream RI() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfStream IX() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IX", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfDictionary* IF() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long TP() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAppearanceCharacteristicsDictionary
diff --git a/experimental/PdfViewer/SkPdfAppearanceDictionary_autogen.h b/experimental/PdfViewer/SkPdfAppearanceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b9e0085
--- /dev/null
@@ -0,0 +1,604 @@
+#ifndef __DEFINED__SkPdfAppearanceDictionary
+#define __DEFINED__SkPdfAppearanceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAppearanceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAppearanceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAppearanceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return this;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAppearanceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAppearanceDictionary& operator=(const SkPdfAppearanceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool isNAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getNAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isNADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getNAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isRAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getRAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isRADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getRAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isDAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getDAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isDADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getDAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAppearanceDictionary
diff --git a/experimental/PdfViewer/SkPdfApplicationDataDictionary_autogen.h b/experimental/PdfViewer/SkPdfApplicationDataDictionary_autogen.h
new file mode 100644 (file)
index 0000000..298c9d5
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfApplicationDataDictionary
+#define __DEFINED__SkPdfApplicationDataDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfApplicationDataDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryApplicationDataDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryApplicationDataDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return this;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfApplicationDataDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfApplicationDataDictionary& operator=(const SkPdfApplicationDataDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDate LastModified() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfObject* Private() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Private", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfApplicationDataDictionary
diff --git a/experimental/PdfViewer/SkPdfArray_autogen.h b/experimental/PdfViewer/SkPdfArray_autogen.h
new file mode 100644 (file)
index 0000000..861d877
--- /dev/null
@@ -0,0 +1,559 @@
+#ifndef __DEFINED__SkPdfArray
+#define __DEFINED__SkPdfArray
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfArray : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectArray_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectArray_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfArray* asArray() {return this;}
+  virtual const SkPdfArray* asArray() const {return this;}
+
+private:
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  const int size() const {return fPodofoObj->GetArray().GetSize();}
+  const SkPdfObject operator[](int i) const {return SkPdfObject(fPodofoDoc, &fPodofoObj->GetArray()[i]);}
+  SkPdfObject operator[](int i) {return SkPdfObject(fPodofoDoc, &fPodofoObj->GetArray()[i]);}
+private:
+public:
+  SkPdfArray(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfArray& operator=(const SkPdfArray& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfArray
diff --git a/experimental/PdfViewer/SkPdfArtifactsDictionary_autogen.h b/experimental/PdfViewer/SkPdfArtifactsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..ff8e279
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfArtifactsDictionary
+#define __DEFINED__SkPdfArtifactsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfArtifactsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryArtifactsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryArtifactsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return this;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfArtifactsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfArtifactsDictionary& operator=(const SkPdfArtifactsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkRect BBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkPdfArray Attached() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Attached", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfArtifactsDictionary
diff --git a/experimental/PdfViewer/SkPdfAttributeObjectDictionary_autogen.h b/experimental/PdfViewer/SkPdfAttributeObjectDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6cdfabc
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfAttributeObjectDictionary
+#define __DEFINED__SkPdfAttributeObjectDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfAttributeObjectDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryAttributeObjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryAttributeObjectDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return this;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfAttributeObjectDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfAttributeObjectDictionary& operator=(const SkPdfAttributeObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string O() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfAttributeObjectDictionary
diff --git a/experimental/PdfViewer/SkPdfBeadDictionary_autogen.h b/experimental/PdfViewer/SkPdfBeadDictionary_autogen.h
new file mode 100644 (file)
index 0000000..95d191c
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfBeadDictionary
+#define __DEFINED__SkPdfBeadDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfBeadDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryBeadDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryBeadDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return this;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfBeadDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBeadDictionary& operator=(const SkPdfBeadDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* T() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* N() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* V() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* P() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkRect R() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfBeadDictionary
diff --git a/experimental/PdfViewer/SkPdfBlockLevelStructureElementsDictionary_autogen.h b/experimental/PdfViewer/SkPdfBlockLevelStructureElementsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..67f7d3e
--- /dev/null
@@ -0,0 +1,641 @@
+#ifndef __DEFINED__SkPdfBlockLevelStructureElementsDictionary
+#define __DEFINED__SkPdfBlockLevelStructureElementsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfBlockLevelStructureElementsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryBlockLevelStructureElementsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryBlockLevelStructureElementsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return this;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfBlockLevelStructureElementsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBlockLevelStructureElementsDictionary& operator=(const SkPdfBlockLevelStructureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  double SpaceBefore() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceBefore", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double SpaceAfter() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceAfter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double StartIndent() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StartIndent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double EndIndent() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIndent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double TextIndent() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextIndent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string TextAlign() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextAlign", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkRect BBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  bool isWidthANumber() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Real;
+  }
+
+  double getWidthAsNumber() const {
+    double ret = 0;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isWidthAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getWidthAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isHeightANumber() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Real;
+  }
+
+  double getHeightAsNumber() const {
+    double ret = 0;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isHeightAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getHeightAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string BlockAlign() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlockAlign", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string InlineAlign() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InlineAlign", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfBlockLevelStructureElementsDictionary
diff --git a/experimental/PdfViewer/SkPdfBoolean_autogen.h b/experimental/PdfViewer/SkPdfBoolean_autogen.h
new file mode 100644 (file)
index 0000000..00870ca
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfBoolean
+#define __DEFINED__SkPdfBoolean
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfBoolean : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectBoolean_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectBoolean_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBoolean* asBoolean() {return this;}
+  virtual const SkPdfBoolean* asBoolean() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  bool value() const {return fPodofoObj->GetBool();}
+private:
+public:
+  SkPdfBoolean(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBoolean& operator=(const SkPdfBoolean& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfBoolean
diff --git a/experimental/PdfViewer/SkPdfBorderStyleDictionary_autogen.h b/experimental/PdfViewer/SkPdfBorderStyleDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8b06772
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfBorderStyleDictionary
+#define __DEFINED__SkPdfBorderStyleDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfBorderStyleDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryBorderStyleDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryBorderStyleDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return this;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfBorderStyleDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBorderStyleDictionary& operator=(const SkPdfBorderStyleDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double W() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray D() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfBorderStyleDictionary
diff --git a/experimental/PdfViewer/SkPdfBoxColorInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfBoxColorInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..61ee751
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfBoxColorInformationDictionary
+#define __DEFINED__SkPdfBoxColorInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfBoxColorInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryBoxColorInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryBoxColorInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return this;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfBoxColorInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBoxColorInformationDictionary& operator=(const SkPdfBoxColorInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* CropBox() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* BleedBox() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* TrimBox() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* ArtBox() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfBoxColorInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfBoxStyleDictionary_autogen.h b/experimental/PdfViewer/SkPdfBoxStyleDictionary_autogen.h
new file mode 100644 (file)
index 0000000..bc90559
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfBoxStyleDictionary
+#define __DEFINED__SkPdfBoxStyleDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfBoxStyleDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryBoxStyleDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryBoxStyleDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return this;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfBoxStyleDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfBoxStyleDictionary& operator=(const SkPdfBoxStyleDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray C() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  double W() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray D() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfBoxStyleDictionary
diff --git a/experimental/PdfViewer/SkPdfCIDFontDescriptorDictionary_autogen.h b/experimental/PdfViewer/SkPdfCIDFontDescriptorDictionary_autogen.h
new file mode 100644 (file)
index 0000000..fbd09bf
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfCIDFontDescriptorDictionary
+#define __DEFINED__SkPdfCIDFontDescriptorDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCIDFontDescriptorDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCIDFontDescriptorDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCIDFontDescriptorDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return this;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCIDFontDescriptorDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCIDFontDescriptorDictionary& operator=(const SkPdfCIDFontDescriptorDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* Style() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Style", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string Lang() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* FD() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FD", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream CIDSet() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSet", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCIDFontDescriptorDictionary
diff --git a/experimental/PdfViewer/SkPdfCIDFontDictionary_autogen.h b/experimental/PdfViewer/SkPdfCIDFontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9195c03
--- /dev/null
@@ -0,0 +1,132 @@
+#ifndef __DEFINED__SkPdfCIDFontDictionary
+#define __DEFINED__SkPdfCIDFontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+
+class SkPdfCIDFontDictionary : public SkPdfFontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryCIDFontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDictionaryCIDFontDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return this;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return this;}
+
+private:
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCIDFontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfFontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCIDFontDictionary& operator=(const SkPdfCIDFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string BaseFont() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* CIDSystemInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* FontDescriptor() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontDescriptor", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long DW() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray W() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray DW2() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray W2() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isCIDToGIDMapAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getCIDToGIDMapAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isCIDToGIDMapAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getCIDToGIDMapAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCIDFontDictionary
diff --git a/experimental/PdfViewer/SkPdfCIDSystemInfoDictionary_autogen.h b/experimental/PdfViewer/SkPdfCIDSystemInfoDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4bb8a9c
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfCIDSystemInfoDictionary
+#define __DEFINED__SkPdfCIDSystemInfoDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCIDSystemInfoDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCIDSystemInfoDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCIDSystemInfoDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return this;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCIDSystemInfoDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCIDSystemInfoDictionary& operator=(const SkPdfCIDSystemInfoDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Registry() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Registry", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Ordering() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ordering", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Supplement() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Supplement", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCIDSystemInfoDictionary
diff --git a/experimental/PdfViewer/SkPdfCMapDictionary_autogen.h b/experimental/PdfViewer/SkPdfCMapDictionary_autogen.h
new file mode 100644 (file)
index 0000000..90ad042
--- /dev/null
@@ -0,0 +1,599 @@
+#ifndef __DEFINED__SkPdfCMapDictionary
+#define __DEFINED__SkPdfCMapDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCMapDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCMapDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCMapDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return this;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCMapDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCMapDictionary& operator=(const SkPdfCMapDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string CMapName() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CMapName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isCIDSystemInfoADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getCIDSystemInfoAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isCIDSystemInfoAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getCIDSystemInfoAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long WMode() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WMode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isUseCMapAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getUseCMapAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isUseCMapAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getUseCMapAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCMapDictionary
diff --git a/experimental/PdfViewer/SkPdfCalgrayColorSpaceDictionary_autogen.h b/experimental/PdfViewer/SkPdfCalgrayColorSpaceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..bdde63e
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfCalgrayColorSpaceDictionary
+#define __DEFINED__SkPdfCalgrayColorSpaceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCalgrayColorSpaceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCalgrayColorSpaceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCalgrayColorSpaceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return this;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCalgrayColorSpaceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCalgrayColorSpaceDictionary& operator=(const SkPdfCalgrayColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray WhitePoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray BlackPoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  double Gamma() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCalgrayColorSpaceDictionary
diff --git a/experimental/PdfViewer/SkPdfCalrgbColorSpaceDictionary_autogen.h b/experimental/PdfViewer/SkPdfCalrgbColorSpaceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c3d69c8
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfCalrgbColorSpaceDictionary
+#define __DEFINED__SkPdfCalrgbColorSpaceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCalrgbColorSpaceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCalrgbColorSpaceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCalrgbColorSpaceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return this;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCalrgbColorSpaceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCalrgbColorSpaceDictionary& operator=(const SkPdfCalrgbColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray WhitePoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray BlackPoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Gamma() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Matrix() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCalrgbColorSpaceDictionary
diff --git a/experimental/PdfViewer/SkPdfCatalogDictionary_autogen.h b/experimental/PdfViewer/SkPdfCatalogDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6167cdb
--- /dev/null
@@ -0,0 +1,711 @@
+#ifndef __DEFINED__SkPdfCatalogDictionary
+#define __DEFINED__SkPdfCatalogDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCatalogDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCatalogDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCatalogDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return this;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCatalogDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCatalogDictionary& operator=(const SkPdfCatalogDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Version() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Pages() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isPageLabelsANumber() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Real;
+  }
+
+  double getPageLabelsAsNumber() const {
+    double ret = 0;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isPageLabelsATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getPageLabelsAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Names() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Dests() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* ViewerPreferences() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ViewerPreferences", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string PageLayout() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLayout", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string PageMode() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageMode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Outlines() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Outlines", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Threads() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Threads", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isOpenActionAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getOpenActionAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isOpenActionADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getOpenActionAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* AA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* URI() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* AcroForm() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AcroForm", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfDictionary* StructTreeRoot() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructTreeRoot", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* MarkInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string Lang() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* SpiderInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpiderInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray OutputIntents() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputIntents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCatalogDictionary
diff --git a/experimental/PdfViewer/SkPdfCcittfaxdecodeFilterDictionary_autogen.h b/experimental/PdfViewer/SkPdfCcittfaxdecodeFilterDictionary_autogen.h
new file mode 100644 (file)
index 0000000..654874b
--- /dev/null
@@ -0,0 +1,582 @@
+#ifndef __DEFINED__SkPdfCcittfaxdecodeFilterDictionary
+#define __DEFINED__SkPdfCcittfaxdecodeFilterDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCcittfaxdecodeFilterDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCcittfaxdecodeFilterDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCcittfaxdecodeFilterDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return this;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCcittfaxdecodeFilterDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCcittfaxdecodeFilterDictionary& operator=(const SkPdfCcittfaxdecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long K() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool EndOfLine() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfLine", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool EncodedByteAlign() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncodedByteAlign", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  long Columns() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Rows() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rows", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool EndOfBlock() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfBlock", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool BlackIs1() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackIs1", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  long DamagedRowsBeforeError() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DamagedRowsBeforeError", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCcittfaxdecodeFilterDictionary
diff --git a/experimental/PdfViewer/SkPdfCheckboxFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfCheckboxFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4b98d83
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfCheckboxFieldDictionary
+#define __DEFINED__SkPdfCheckboxFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfCheckboxFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryCheckboxFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryCheckboxFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return this;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfCheckboxFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfCheckboxFieldDictionary& operator=(const SkPdfCheckboxFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Opt() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfCheckboxFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfChoiceFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfChoiceFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..0b1dc27
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfChoiceFieldDictionary
+#define __DEFINED__SkPdfChoiceFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfChoiceFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryChoiceFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryChoiceFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return this;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfChoiceFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfChoiceFieldDictionary& operator=(const SkPdfChoiceFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Opt() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long TI() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray I() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfChoiceFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfComponentsWithMetadataDictionary_autogen.h b/experimental/PdfViewer/SkPdfComponentsWithMetadataDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b0823d4
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfComponentsWithMetadataDictionary
+#define __DEFINED__SkPdfComponentsWithMetadataDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfComponentsWithMetadataDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryComponentsWithMetadataDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryComponentsWithMetadataDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return this;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfComponentsWithMetadataDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfComponentsWithMetadataDictionary& operator=(const SkPdfComponentsWithMetadataDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfComponentsWithMetadataDictionary
diff --git a/experimental/PdfViewer/SkPdfDctdecodeFilterDictionary_autogen.h b/experimental/PdfViewer/SkPdfDctdecodeFilterDictionary_autogen.h
new file mode 100644 (file)
index 0000000..3e02e05
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfDctdecodeFilterDictionary
+#define __DEFINED__SkPdfDctdecodeFilterDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfDctdecodeFilterDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryDctdecodeFilterDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryDctdecodeFilterDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return this;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfDctdecodeFilterDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfDctdecodeFilterDictionary& operator=(const SkPdfDctdecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long ColorTransform() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorTransform", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfDctdecodeFilterDictionary
diff --git a/experimental/PdfViewer/SkPdfDeviceNColorSpaceDictionary_autogen.h b/experimental/PdfViewer/SkPdfDeviceNColorSpaceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..e46d150
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfDeviceNColorSpaceDictionary
+#define __DEFINED__SkPdfDeviceNColorSpaceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfDeviceNColorSpaceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryDeviceNColorSpaceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryDeviceNColorSpaceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return this;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfDeviceNColorSpaceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfDeviceNColorSpaceDictionary& operator=(const SkPdfDeviceNColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* Colorants() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfDeviceNColorSpaceDictionary
diff --git a/experimental/PdfViewer/SkPdfDictionary_autogen.h b/experimental/PdfViewer/SkPdfDictionary_autogen.h
new file mode 100644 (file)
index 0000000..3dee42a
--- /dev/null
@@ -0,0 +1,55 @@
+#ifndef __DEFINED__SkPdfDictionary
+#define __DEFINED__SkPdfDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfDictionary : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObjectDictionary__End_SkPdfObjectType;}
+public:
+  virtual SkPdfDictionary* asDictionary() {return this;}
+  virtual const SkPdfDictionary* asDictionary() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfDictionary& operator=(const SkPdfDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfDictionary
diff --git a/experimental/PdfViewer/SkPdfDocumentCatalogActionsDictionary_autogen.h b/experimental/PdfViewer/SkPdfDocumentCatalogActionsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..e96940e
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfDocumentCatalogActionsDictionary
+#define __DEFINED__SkPdfDocumentCatalogActionsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfDocumentCatalogActionsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryDocumentCatalogActionsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryDocumentCatalogActionsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return this;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfDocumentCatalogActionsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfDocumentCatalogActionsDictionary& operator=(const SkPdfDocumentCatalogActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* DC() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* WS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* DS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* WP() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* DP() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfDocumentCatalogActionsDictionary
diff --git a/experimental/PdfViewer/SkPdfDocumentInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfDocumentInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..3f86772
--- /dev/null
@@ -0,0 +1,589 @@
+#ifndef __DEFINED__SkPdfDocumentInformationDictionary
+#define __DEFINED__SkPdfDocumentInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfDocumentInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryDocumentInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryDocumentInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return this;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfDocumentInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfDocumentInformationDictionary& operator=(const SkPdfDocumentInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Title() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Author() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Author", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subject() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subject", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Keywords() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Keywords", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Creator() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Producer() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Producer", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDate CreationDate() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfDate ModDate() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  std::string Trapped() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trapped", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfDocumentInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfEmbeddedFileParameterDictionary_autogen.h b/experimental/PdfViewer/SkPdfEmbeddedFileParameterDictionary_autogen.h
new file mode 100644 (file)
index 0000000..31c215d
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfEmbeddedFileParameterDictionary
+#define __DEFINED__SkPdfEmbeddedFileParameterDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEmbeddedFileParameterDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEmbeddedFileParameterDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEmbeddedFileParameterDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return this;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEmbeddedFileParameterDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEmbeddedFileParameterDictionary& operator=(const SkPdfEmbeddedFileParameterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Size() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDate CreationDate() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfDate ModDate() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfDictionary* Mac() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string CheckSum() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CheckSum", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEmbeddedFileParameterDictionary
diff --git a/experimental/PdfViewer/SkPdfEmbeddedFileStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfEmbeddedFileStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..2318733
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfEmbeddedFileStreamDictionary
+#define __DEFINED__SkPdfEmbeddedFileStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEmbeddedFileStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEmbeddedFileStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEmbeddedFileStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return this;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEmbeddedFileStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEmbeddedFileStreamDictionary& operator=(const SkPdfEmbeddedFileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Params() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Params", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEmbeddedFileStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfEmbeddedFontStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfEmbeddedFontStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..20dc1da
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfEmbeddedFontStreamDictionary
+#define __DEFINED__SkPdfEmbeddedFontStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEmbeddedFontStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEmbeddedFontStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEmbeddedFontStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return this;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEmbeddedFontStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEmbeddedFontStreamDictionary& operator=(const SkPdfEmbeddedFontStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Length1() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length1", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Length2() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Length3() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length3", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEmbeddedFontStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfEncodingDictionary_autogen.h b/experimental/PdfViewer/SkPdfEncodingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..62e1bf1
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfEncodingDictionary
+#define __DEFINED__SkPdfEncodingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEncodingDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEncodingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEncodingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return this;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEncodingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEncodingDictionary& operator=(const SkPdfEncodingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string BaseEncoding() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseEncoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray Differences() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEncodingDictionary
diff --git a/experimental/PdfViewer/SkPdfEncryptedEmbeddedFileStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfEncryptedEmbeddedFileStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..ab56041
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfEncryptedEmbeddedFileStreamDictionary
+#define __DEFINED__SkPdfEncryptedEmbeddedFileStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEncryptedEmbeddedFileStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEncryptedEmbeddedFileStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEncryptedEmbeddedFileStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return this;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEncryptedEmbeddedFileStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEncryptedEmbeddedFileStreamDictionary& operator=(const SkPdfEncryptedEmbeddedFileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long EncryptionRevision() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncryptionRevision", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEncryptedEmbeddedFileStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfEncryptionCommonDictionary_autogen.h b/experimental/PdfViewer/SkPdfEncryptionCommonDictionary_autogen.h
new file mode 100644 (file)
index 0000000..f0421ff
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfEncryptionCommonDictionary
+#define __DEFINED__SkPdfEncryptionCommonDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfEncryptionCommonDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryEncryptionCommonDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryEncryptionCommonDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return this;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfEncryptionCommonDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfEncryptionCommonDictionary& operator=(const SkPdfEncryptionCommonDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Filter() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double V() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Length() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfEncryptionCommonDictionary
diff --git a/experimental/PdfViewer/SkPdfEnums_autogen.h b/experimental/PdfViewer/SkPdfEnums_autogen.h
new file mode 100644 (file)
index 0000000..732f057
--- /dev/null
@@ -0,0 +1,370 @@
+#ifndef __DEFINED__SkPdfEnums
+#define __DEFINED__SkPdfEnums
+
+enum SkPdfObjectType {
+  kObject_SkPdfObjectType,
+  kObjectArray_SkPdfObjectType,
+  kObjectBoolean_SkPdfObjectType,
+  kObjectDictionary_SkPdfObjectType,
+  kObjectDictionaryALinkAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryActionDictionary_SkPdfObjectType,
+  kObjectDictionaryAlternateImageDictionary_SkPdfObjectType,
+  kObjectDictionaryAnnotationActionsDictionary_SkPdfObjectType,
+  kObjectDictionaryAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryAppearanceCharacteristicsDictionary_SkPdfObjectType,
+  kObjectDictionaryAppearanceDictionary_SkPdfObjectType,
+  kObjectDictionaryApplicationDataDictionary_SkPdfObjectType,
+  kObjectDictionaryArtifactsDictionary_SkPdfObjectType,
+  kObjectDictionaryAttributeObjectDictionary_SkPdfObjectType,
+  kObjectDictionaryBeadDictionary_SkPdfObjectType,
+  kObjectDictionaryBlockLevelStructureElementsDictionary_SkPdfObjectType,
+  kObjectDictionaryBorderStyleDictionary_SkPdfObjectType,
+  kObjectDictionaryBoxColorInformationDictionary_SkPdfObjectType,
+  kObjectDictionaryBoxStyleDictionary_SkPdfObjectType,
+  kObjectDictionaryCIDFontDescriptorDictionary_SkPdfObjectType,
+  kObjectDictionaryCIDSystemInfoDictionary_SkPdfObjectType,
+  kObjectDictionaryCMapDictionary_SkPdfObjectType,
+  kObjectDictionaryCalgrayColorSpaceDictionary_SkPdfObjectType,
+  kObjectDictionaryCalrgbColorSpaceDictionary_SkPdfObjectType,
+  kObjectDictionaryCatalogDictionary_SkPdfObjectType,
+  kObjectDictionaryCcittfaxdecodeFilterDictionary_SkPdfObjectType,
+  kObjectDictionaryCheckboxFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryChoiceFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryComponentsWithMetadataDictionary_SkPdfObjectType,
+  kObjectDictionaryDctdecodeFilterDictionary_SkPdfObjectType,
+  kObjectDictionaryDeviceNColorSpaceDictionary_SkPdfObjectType,
+  kObjectDictionaryDocumentCatalogActionsDictionary_SkPdfObjectType,
+  kObjectDictionaryDocumentInformationDictionary_SkPdfObjectType,
+  kObjectDictionaryEmbeddedFileParameterDictionary_SkPdfObjectType,
+  kObjectDictionaryEmbeddedFileStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryEmbeddedFontStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryEncodingDictionary_SkPdfObjectType,
+  kObjectDictionaryEncryptedEmbeddedFileStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryEncryptionCommonDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFCatalogDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFFileAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFNamedPageReferenceDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFPageDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFTemplateDictionary_SkPdfObjectType,
+  kObjectDictionaryFDFTrailerDictionary_SkPdfObjectType,
+  kObjectDictionaryFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryFileAttachmentAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryFileSpecificationDictionary_SkPdfObjectType,
+  kObjectDictionaryFileTrailerDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDescriptorDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryCIDFontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryTrueTypeFontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryType0FontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryType1FontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryType1FontDictionaryMultiMasterFontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryType1FontDictionary__End_SkPdfObjectType,
+  kObjectDictionaryFontDictionaryType3FontDictionary_SkPdfObjectType,
+  kObjectDictionaryFontDictionary__End_SkPdfObjectType,
+  kObjectDictionaryFormFieldActionsDictionary_SkPdfObjectType,
+  kObjectDictionaryFreeTextAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryFunctionCommonDictionary_SkPdfObjectType,
+  kObjectDictionaryGoToActionDictionary_SkPdfObjectType,
+  kObjectDictionaryGraphicsStateDictionary_SkPdfObjectType,
+  kObjectDictionaryGroupAttributesDictionary_SkPdfObjectType,
+  kObjectDictionaryHideActionDictionary_SkPdfObjectType,
+  kObjectDictionaryIccProfileStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryIconFitDictionary_SkPdfObjectType,
+  kObjectDictionaryImportDataActionDictionary_SkPdfObjectType,
+  kObjectDictionaryInkAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryInlineLevelStructureElementsDictionary_SkPdfObjectType,
+  kObjectDictionaryInteractiveFormDictionary_SkPdfObjectType,
+  kObjectDictionaryJavascriptActionDictionary_SkPdfObjectType,
+  kObjectDictionaryJavascriptDictionary_SkPdfObjectType,
+  kObjectDictionaryJbig2DecodeFilterDictionary_SkPdfObjectType,
+  kObjectDictionaryLabColorSpaceDictionary_SkPdfObjectType,
+  kObjectDictionaryLaunchActionDictionary_SkPdfObjectType,
+  kObjectDictionaryLineAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryListAttributeDictionary_SkPdfObjectType,
+  kObjectDictionaryLzwdecodeAndFlatedecodeFiltersDictionary_SkPdfObjectType,
+  kObjectDictionaryMacOsFileInformationDictionary_SkPdfObjectType,
+  kObjectDictionaryMarkInformationDictionary_SkPdfObjectType,
+  kObjectDictionaryMarkedContentReferenceDictionary_SkPdfObjectType,
+  kObjectDictionaryMarkupAnnotationsDictionary_SkPdfObjectType,
+  kObjectDictionaryMetadataStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryMovieActionDictionary_SkPdfObjectType,
+  kObjectDictionaryMovieActivationDictionary_SkPdfObjectType,
+  kObjectDictionaryMovieAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryMovieDictionary_SkPdfObjectType,
+  kObjectDictionaryNameDictionary_SkPdfObjectType,
+  kObjectDictionaryNameTreeNodeDictionary_SkPdfObjectType,
+  kObjectDictionaryNamedActionsDictionary_SkPdfObjectType,
+  kObjectDictionaryNumberTreeNodeDictionary_SkPdfObjectType,
+  kObjectDictionaryObjectReferenceDictionary_SkPdfObjectType,
+  kObjectDictionaryOpiVersionDictionary_SkPdfObjectType,
+  kObjectDictionaryOutlineDictionary_SkPdfObjectType,
+  kObjectDictionaryOutlineItemDictionary_SkPdfObjectType,
+  kObjectDictionaryPDF_XOutputIntentDictionary_SkPdfObjectType,
+  kObjectDictionaryPSXobjectDictionary_SkPdfObjectType,
+  kObjectDictionaryPageLabelDictionary_SkPdfObjectType,
+  kObjectDictionaryPageObjectActionsDictionary_SkPdfObjectType,
+  kObjectDictionaryPageObjectDictionary_SkPdfObjectType,
+  kObjectDictionaryPagePieceDictionary_SkPdfObjectType,
+  kObjectDictionaryPageTreeNodeDictionary_SkPdfObjectType,
+  kObjectDictionaryPopUpAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryPrinterMarkAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryPrinterMarkFormDictionary_SkPdfObjectType,
+  kObjectDictionaryRadioButtonFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryReferenceDictionary_SkPdfObjectType,
+  kObjectDictionaryRemoteGoToActionDictionary_SkPdfObjectType,
+  kObjectDictionaryResetFormActionDictionary_SkPdfObjectType,
+  kObjectDictionaryResourceDictionary_SkPdfObjectType,
+  kObjectDictionaryRubberStampAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionarySeparationDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType1ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType2ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType3ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType4ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType5ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionaryType6ShadingDictionary_SkPdfObjectType,
+  kObjectDictionaryShadingDictionary__End_SkPdfObjectType,
+  kObjectDictionarySignatureDictionary_SkPdfObjectType,
+  kObjectDictionarySoftMaskDictionary_SkPdfObjectType,
+  kObjectDictionarySoftMaskImageDictionary_SkPdfObjectType,
+  kObjectDictionarySoundActionDictionary_SkPdfObjectType,
+  kObjectDictionarySoundAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionarySoundObjectDictionary_SkPdfObjectType,
+  kObjectDictionarySourceInformationDictionary_SkPdfObjectType,
+  kObjectDictionarySquareOrCircleAnnotation_SkPdfObjectType,
+  kObjectDictionaryStandardSecurityHandlerDictionary_SkPdfObjectType,
+  kObjectDictionaryStandardStructureDictionary_SkPdfObjectType,
+  kObjectDictionaryStreamCommonDictionary_SkPdfObjectType,
+  kObjectDictionaryStructureElementAccessDictionary_SkPdfObjectType,
+  kObjectDictionaryStructureElementDictionary_SkPdfObjectType,
+  kObjectDictionaryStructureTreeRootDictionary_SkPdfObjectType,
+  kObjectDictionarySubmitFormActionDictionary_SkPdfObjectType,
+  kObjectDictionaryTableAttributesDictionary_SkPdfObjectType,
+  kObjectDictionaryTextAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryTextFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryThreadActionDictionary_SkPdfObjectType,
+  kObjectDictionaryThreadDictionary_SkPdfObjectType,
+  kObjectDictionaryTransitionDictionary_SkPdfObjectType,
+  kObjectDictionaryTransparencyGroupDictionary_SkPdfObjectType,
+  kObjectDictionaryTrapNetworkAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryTrapNetworkAppearanceStreamDictionary_SkPdfObjectType,
+  kObjectDictionaryType0FunctionDictionary_SkPdfObjectType,
+  kObjectDictionaryType10HalftoneDictionary_SkPdfObjectType,
+  kObjectDictionaryType16HalftoneDictionary_SkPdfObjectType,
+  kObjectDictionaryType1HalftoneDictionary_SkPdfObjectType,
+  kObjectDictionaryType1PatternDictionary_SkPdfObjectType,
+  kObjectDictionaryType2FunctionDictionary_SkPdfObjectType,
+  kObjectDictionaryType2PatternDictionary_SkPdfObjectType,
+  kObjectDictionaryType3FunctionDictionary_SkPdfObjectType,
+  kObjectDictionaryType5HalftoneDictionary_SkPdfObjectType,
+  kObjectDictionaryType6HalftoneDictionary_SkPdfObjectType,
+  kObjectDictionaryURIActionDictionary_SkPdfObjectType,
+  kObjectDictionaryURIDictionary_SkPdfObjectType,
+  kObjectDictionaryURLAliasDictionary_SkPdfObjectType,
+  kObjectDictionaryVariableTextFieldDictionary_SkPdfObjectType,
+  kObjectDictionaryViewerPreferencesDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCaptureCommandDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCaptureCommandSettingsDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCaptureDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCaptureImageSetDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCaptureInformationDictionary_SkPdfObjectType,
+  kObjectDictionaryWebCapturePageSetDictionary_SkPdfObjectType,
+  kObjectDictionaryWidgetAnnotationDictionary_SkPdfObjectType,
+  kObjectDictionaryWindowsLaunchActionDictionary_SkPdfObjectType,
+  kObjectDictionaryXObjectDictionary_SkPdfObjectType,
+  kObjectDictionaryXObjectDictionaryImageDictionary_SkPdfObjectType,
+  kObjectDictionaryXObjectDictionaryType1FormDictionary_SkPdfObjectType,
+  kObjectDictionaryXObjectDictionary__End_SkPdfObjectType,
+  kObjectDictionary__End_SkPdfObjectType,
+  kObjectHexString_SkPdfObjectType,
+  kObjectInteger_SkPdfObjectType,
+  kObjectName_SkPdfObjectType,
+  kObjectNull_SkPdfObjectType,
+  kObjectNumber_SkPdfObjectType,
+  kObjectReference_SkPdfObjectType,
+  kObjectString_SkPdfObjectType,
+  kObject__End_SkPdfObjectType,
+};
+
+class SkPdfObject;
+class SkPdfNull;
+class SkPdfBoolean;
+class SkPdfInteger;
+class SkPdfNumber;
+class SkPdfName;
+class SkPdfReference;
+class SkPdfArray;
+class SkPdfString;
+class SkPdfHexString;
+class SkPdfDictionary;
+class SkPdfXObjectDictionary;
+class SkPdfFontDictionary;
+class SkPdfTrueTypeFontDictionary;
+class SkPdfStreamCommonDictionary;
+class SkPdfLzwdecodeAndFlatedecodeFiltersDictionary;
+class SkPdfCcittfaxdecodeFilterDictionary;
+class SkPdfJbig2DecodeFilterDictionary;
+class SkPdfDctdecodeFilterDictionary;
+class SkPdfFileTrailerDictionary;
+class SkPdfEncryptionCommonDictionary;
+class SkPdfStandardSecurityHandlerDictionary;
+class SkPdfCatalogDictionary;
+class SkPdfPageTreeNodeDictionary;
+class SkPdfPageObjectDictionary;
+class SkPdfNameDictionary;
+class SkPdfResourceDictionary;
+class SkPdfNameTreeNodeDictionary;
+class SkPdfNumberTreeNodeDictionary;
+class SkPdfFunctionCommonDictionary;
+class SkPdfType0FunctionDictionary;
+class SkPdfType2FunctionDictionary;
+class SkPdfType3FunctionDictionary;
+class SkPdfFileSpecificationDictionary;
+class SkPdfEmbeddedFileStreamDictionary;
+class SkPdfEmbeddedFileParameterDictionary;
+class SkPdfMacOsFileInformationDictionary;
+class SkPdfGraphicsStateDictionary;
+class SkPdfCalgrayColorSpaceDictionary;
+class SkPdfCalrgbColorSpaceDictionary;
+class SkPdfLabColorSpaceDictionary;
+class SkPdfIccProfileStreamDictionary;
+class SkPdfDeviceNColorSpaceDictionary;
+class SkPdfType1PatternDictionary;
+class SkPdfType2PatternDictionary;
+class SkPdfShadingDictionary;
+class SkPdfType1ShadingDictionary;
+class SkPdfType2ShadingDictionary;
+class SkPdfType3ShadingDictionary;
+class SkPdfType4ShadingDictionary;
+class SkPdfType5ShadingDictionary;
+class SkPdfType6ShadingDictionary;
+class SkPdfImageDictionary;
+class SkPdfAlternateImageDictionary;
+class SkPdfType1FormDictionary;
+class SkPdfGroupAttributesDictionary;
+class SkPdfReferenceDictionary;
+class SkPdfPSXobjectDictionary;
+class SkPdfType1FontDictionary;
+class SkPdfType3FontDictionary;
+class SkPdfEncodingDictionary;
+class SkPdfCIDSystemInfoDictionary;
+class SkPdfCIDFontDictionary;
+class SkPdfCMapDictionary;
+class SkPdfType0FontDictionary;
+class SkPdfFontDescriptorDictionary;
+class SkPdfCIDFontDescriptorDictionary;
+class SkPdfEmbeddedFontStreamDictionary;
+class SkPdfType1HalftoneDictionary;
+class SkPdfType6HalftoneDictionary;
+class SkPdfType10HalftoneDictionary;
+class SkPdfType16HalftoneDictionary;
+class SkPdfType5HalftoneDictionary;
+class SkPdfSoftMaskDictionary;
+class SkPdfSoftMaskImageDictionary;
+class SkPdfTransparencyGroupDictionary;
+class SkPdfViewerPreferencesDictionary;
+class SkPdfOutlineDictionary;
+class SkPdfOutlineItemDictionary;
+class SkPdfPageLabelDictionary;
+class SkPdfThreadDictionary;
+class SkPdfBeadDictionary;
+class SkPdfTransitionDictionary;
+class SkPdfAnnotationDictionary;
+class SkPdfBorderStyleDictionary;
+class SkPdfAppearanceDictionary;
+class SkPdfTextAnnotationDictionary;
+class SkPdfALinkAnnotationDictionary;
+class SkPdfFreeTextAnnotationDictionary;
+class SkPdfLineAnnotationDictionary;
+class SkPdfSquareOrCircleAnnotation;
+class SkPdfMarkupAnnotationsDictionary;
+class SkPdfRubberStampAnnotationDictionary;
+class SkPdfInkAnnotationDictionary;
+class SkPdfPopUpAnnotationDictionary;
+class SkPdfFileAttachmentAnnotationDictionary;
+class SkPdfSoundAnnotationDictionary;
+class SkPdfMovieAnnotationDictionary;
+class SkPdfWidgetAnnotationDictionary;
+class SkPdfActionDictionary;
+class SkPdfAnnotationActionsDictionary;
+class SkPdfPageObjectActionsDictionary;
+class SkPdfFormFieldActionsDictionary;
+class SkPdfDocumentCatalogActionsDictionary;
+class SkPdfGoToActionDictionary;
+class SkPdfRemoteGoToActionDictionary;
+class SkPdfLaunchActionDictionary;
+class SkPdfWindowsLaunchActionDictionary;
+class SkPdfThreadActionDictionary;
+class SkPdfURIActionDictionary;
+class SkPdfURIDictionary;
+class SkPdfSoundActionDictionary;
+class SkPdfMovieActionDictionary;
+class SkPdfHideActionDictionary;
+class SkPdfNamedActionsDictionary;
+class SkPdfInteractiveFormDictionary;
+class SkPdfFieldDictionary;
+class SkPdfVariableTextFieldDictionary;
+class SkPdfAppearanceCharacteristicsDictionary;
+class SkPdfCheckboxFieldDictionary;
+class SkPdfRadioButtonFieldDictionary;
+class SkPdfTextFieldDictionary;
+class SkPdfChoiceFieldDictionary;
+class SkPdfSignatureDictionary;
+class SkPdfSubmitFormActionDictionary;
+class SkPdfResetFormActionDictionary;
+class SkPdfImportDataActionDictionary;
+class SkPdfJavascriptActionDictionary;
+class SkPdfFDFTrailerDictionary;
+class SkPdfFDFCatalogDictionary;
+class SkPdfFDFDictionary;
+class SkPdfEncryptedEmbeddedFileStreamDictionary;
+class SkPdfJavascriptDictionary;
+class SkPdfFDFFieldDictionary;
+class SkPdfIconFitDictionary;
+class SkPdfFDFPageDictionary;
+class SkPdfFDFTemplateDictionary;
+class SkPdfFDFNamedPageReferenceDictionary;
+class SkPdfFDFFileAnnotationDictionary;
+class SkPdfSoundObjectDictionary;
+class SkPdfMovieDictionary;
+class SkPdfMovieActivationDictionary;
+class SkPdfDocumentInformationDictionary;
+class SkPdfMetadataStreamDictionary;
+class SkPdfComponentsWithMetadataDictionary;
+class SkPdfPagePieceDictionary;
+class SkPdfApplicationDataDictionary;
+class SkPdfStructureTreeRootDictionary;
+class SkPdfStructureElementDictionary;
+class SkPdfMarkedContentReferenceDictionary;
+class SkPdfObjectReferenceDictionary;
+class SkPdfStructureElementAccessDictionary;
+class SkPdfAttributeObjectDictionary;
+class SkPdfMarkInformationDictionary;
+class SkPdfArtifactsDictionary;
+class SkPdfStandardStructureDictionary;
+class SkPdfBlockLevelStructureElementsDictionary;
+class SkPdfInlineLevelStructureElementsDictionary;
+class SkPdfListAttributeDictionary;
+class SkPdfTableAttributesDictionary;
+class SkPdfWebCaptureInformationDictionary;
+class SkPdfWebCaptureDictionary;
+class SkPdfWebCapturePageSetDictionary;
+class SkPdfWebCaptureImageSetDictionary;
+class SkPdfSourceInformationDictionary;
+class SkPdfURLAliasDictionary;
+class SkPdfWebCaptureCommandDictionary;
+class SkPdfWebCaptureCommandSettingsDictionary;
+class SkPdfBoxColorInformationDictionary;
+class SkPdfBoxStyleDictionary;
+class SkPdfPrinterMarkAnnotationDictionary;
+class SkPdfPrinterMarkFormDictionary;
+class SkPdfSeparationDictionary;
+class SkPdfPDF_XOutputIntentDictionary;
+class SkPdfTrapNetworkAnnotationDictionary;
+class SkPdfTrapNetworkAppearanceStreamDictionary;
+class SkPdfOpiVersionDictionary;
+class SkPdfMultiMasterFontDictionary;
+
+#endif  // __DEFINED__SkPdfEnums
diff --git a/experimental/PdfViewer/SkPdfFDFCatalogDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFCatalogDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6848476
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfFDFCatalogDictionary
+#define __DEFINED__SkPdfFDFCatalogDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFCatalogDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFCatalogDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFCatalogDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return this;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFCatalogDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFCatalogDictionary& operator=(const SkPdfFDFCatalogDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Version() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* FDF() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFCatalogDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFDictionary_autogen.h
new file mode 100644 (file)
index 0000000..76b18f7
--- /dev/null
@@ -0,0 +1,603 @@
+#ifndef __DEFINED__SkPdfFDFDictionary
+#define __DEFINED__SkPdfFDFDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return this;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFDictionary& operator=(const SkPdfFDFDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  SkPdfArray ID() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Fields() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string Status() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Status", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray Pages() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string Encoding() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray Annots() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfStream Differences() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  std::string Target() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Target", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray EmbeddedFDFs() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFDFs", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* JavaScript() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4dfdf17
--- /dev/null
@@ -0,0 +1,631 @@
+#ifndef __DEFINED__SkPdfFDFFieldDictionary
+#define __DEFINED__SkPdfFDFFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return this;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFFieldDictionary& operator=(const SkPdfFDFFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Kids() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfObject* V() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long Ff() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long SetFf() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetFf", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long ClrFf() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrFf", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long F() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long SetF() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long ClrF() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* AP() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* APRef() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "APRef", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* IF() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Opt() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* A() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* AA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFFileAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFFileAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..2b086c7
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfFDFFileAnnotationDictionary
+#define __DEFINED__SkPdfFDFFileAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFFileAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFFileAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFFileAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return this;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFFileAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFFileAnnotationDictionary& operator=(const SkPdfFDFFileAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Page() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFFileAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFNamedPageReferenceDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFNamedPageReferenceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..91e34a0
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfFDFNamedPageReferenceDictionary
+#define __DEFINED__SkPdfFDFNamedPageReferenceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFNamedPageReferenceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFNamedPageReferenceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFNamedPageReferenceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return this;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFNamedPageReferenceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFNamedPageReferenceDictionary& operator=(const SkPdfFDFNamedPageReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Name() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFNamedPageReferenceDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFPageDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFPageDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b39f62f
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfFDFPageDictionary
+#define __DEFINED__SkPdfFDFPageDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFPageDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFPageDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFPageDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return this;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFPageDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFPageDictionary& operator=(const SkPdfFDFPageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Templates() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* Info() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFPageDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFTemplateDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFTemplateDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c3437a7
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfFDFTemplateDictionary
+#define __DEFINED__SkPdfFDFTemplateDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFTemplateDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFTemplateDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFTemplateDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return this;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFTemplateDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFTemplateDictionary& operator=(const SkPdfFDFTemplateDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* TRef() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TRef", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Fields() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool Rename() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rename", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFTemplateDictionary
diff --git a/experimental/PdfViewer/SkPdfFDFTrailerDictionary_autogen.h b/experimental/PdfViewer/SkPdfFDFTrailerDictionary_autogen.h
new file mode 100644 (file)
index 0000000..47ce18d
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfFDFTrailerDictionary
+#define __DEFINED__SkPdfFDFTrailerDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFDFTrailerDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFDFTrailerDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFDFTrailerDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return this;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFDFTrailerDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFDFTrailerDictionary& operator=(const SkPdfFDFTrailerDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* Root() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFDFTrailerDictionary
diff --git a/experimental/PdfViewer/SkPdfFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..641dae5
--- /dev/null
@@ -0,0 +1,596 @@
+#ifndef __DEFINED__SkPdfFieldDictionary
+#define __DEFINED__SkPdfFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return this;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFieldDictionary& operator=(const SkPdfFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string FT() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Parent() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Kids() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string TU() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TU", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string TM() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Ff() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfObject* V() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* DV() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DV", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* AA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfFileAttachmentAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfFileAttachmentAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b9c5653
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfFileAttachmentAnnotationDictionary
+#define __DEFINED__SkPdfFileAttachmentAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFileAttachmentAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFileAttachmentAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFileAttachmentAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return this;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFileAttachmentAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFileAttachmentAnnotationDictionary& operator=(const SkPdfFileAttachmentAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec FS() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFileAttachmentAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfFileSpecificationDictionary_autogen.h b/experimental/PdfViewer/SkPdfFileSpecificationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..553e79e
--- /dev/null
@@ -0,0 +1,596 @@
+#ifndef __DEFINED__SkPdfFileSpecificationDictionary
+#define __DEFINED__SkPdfFileSpecificationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFileSpecificationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFileSpecificationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFileSpecificationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return this;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFileSpecificationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFileSpecificationDictionary& operator=(const SkPdfFileSpecificationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string FS() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string F() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string DOS() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DOS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Mac() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Unix() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray ID() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool V() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  SkPdfDictionary* EF() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* RF() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RF", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFileSpecificationDictionary
diff --git a/experimental/PdfViewer/SkPdfFileTrailerDictionary_autogen.h b/experimental/PdfViewer/SkPdfFileTrailerDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5a31184
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfFileTrailerDictionary
+#define __DEFINED__SkPdfFileTrailerDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFileTrailerDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFileTrailerDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFileTrailerDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return this;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFileTrailerDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFileTrailerDictionary& operator=(const SkPdfFileTrailerDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Size() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Prev() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* Root() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Encrypt() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encrypt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Info() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray ID() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFileTrailerDictionary
diff --git a/experimental/PdfViewer/SkPdfFontDescriptorDictionary_autogen.h b/experimental/PdfViewer/SkPdfFontDescriptorDictionary_autogen.h
new file mode 100644 (file)
index 0000000..7cc7e18
--- /dev/null
@@ -0,0 +1,659 @@
+#ifndef __DEFINED__SkPdfFontDescriptorDictionary
+#define __DEFINED__SkPdfFontDescriptorDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFontDescriptorDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDescriptorDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDescriptorDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return this;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFontDescriptorDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFontDescriptorDictionary& operator=(const SkPdfFontDescriptorDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string FontName() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Flags() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkRect FontBBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontBBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  double ItalicAngle() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ItalicAngle", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double Ascent() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double Descent() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Descent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double Leading() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leading", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double CapHeight() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHeight", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double XHeight() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeight", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double StemV() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double StemH() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double AvgWidth() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWidth", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double MaxWidth() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWidth", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double MissingWidth() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MissingWidth", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfStream FontFile() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfStream FontFile2() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfStream FontFile3() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile3", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  std::string CharSet() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharSet", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFontDescriptorDictionary
diff --git a/experimental/PdfViewer/SkPdfFontDictionary_autogen.h b/experimental/PdfViewer/SkPdfFontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..0c07753
--- /dev/null
@@ -0,0 +1,508 @@
+#ifndef __DEFINED__SkPdfFontDictionary
+#define __DEFINED__SkPdfFontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFontDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObjectDictionaryFontDictionary__End_SkPdfObjectType;}
+public:
+  virtual SkPdfFontDictionary* asFontDictionary() {return this;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFontDictionary& operator=(const SkPdfFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfFontDictionary
diff --git a/experimental/PdfViewer/SkPdfFormFieldActionsDictionary_autogen.h b/experimental/PdfViewer/SkPdfFormFieldActionsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8777bb5
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfFormFieldActionsDictionary
+#define __DEFINED__SkPdfFormFieldActionsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFormFieldActionsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFormFieldActionsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFormFieldActionsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return this;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFormFieldActionsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFormFieldActionsDictionary& operator=(const SkPdfFormFieldActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* K() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* F() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* V() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* C() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFormFieldActionsDictionary
diff --git a/experimental/PdfViewer/SkPdfFreeTextAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfFreeTextAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..2bf7461
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfFreeTextAnnotationDictionary
+#define __DEFINED__SkPdfFreeTextAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFreeTextAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFreeTextAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFreeTextAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return this;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFreeTextAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFreeTextAnnotationDictionary& operator=(const SkPdfFreeTextAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string DA() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Q() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFreeTextAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfFunctionCommonDictionary_autogen.h b/experimental/PdfViewer/SkPdfFunctionCommonDictionary_autogen.h
new file mode 100644 (file)
index 0000000..ec2cc44
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfFunctionCommonDictionary
+#define __DEFINED__SkPdfFunctionCommonDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfFunctionCommonDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFunctionCommonDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFunctionCommonDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return this;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfFunctionCommonDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfFunctionCommonDictionary& operator=(const SkPdfFunctionCommonDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long FunctionType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FunctionType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Domain() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Range() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfFunctionCommonDictionary
diff --git a/experimental/PdfViewer/SkPdfGoToActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfGoToActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a0b15bb
--- /dev/null
@@ -0,0 +1,572 @@
+#ifndef __DEFINED__SkPdfGoToActionDictionary
+#define __DEFINED__SkPdfGoToActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfGoToActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryGoToActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryGoToActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return this;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfGoToActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfGoToActionDictionary& operator=(const SkPdfGoToActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getDAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfGoToActionDictionary
diff --git a/experimental/PdfViewer/SkPdfGraphicsStateDictionary_autogen.h b/experimental/PdfViewer/SkPdfGraphicsStateDictionary_autogen.h
new file mode 100644 (file)
index 0000000..be27b6d
--- /dev/null
@@ -0,0 +1,887 @@
+#ifndef __DEFINED__SkPdfGraphicsStateDictionary
+#define __DEFINED__SkPdfGraphicsStateDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfGraphicsStateDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryGraphicsStateDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryGraphicsStateDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return this;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfGraphicsStateDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfGraphicsStateDictionary& operator=(const SkPdfGraphicsStateDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double LW() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LW", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long LC() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long LJ() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LJ", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double ML() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ML", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray D() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string RI() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool OP() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool op() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "op", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  long OPM() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Font() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Font", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction BG() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isBG2AFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getBG2AsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isBG2AName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getBG2AsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFunction UCR() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isUCR2AFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getUCR2AsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isUCR2AName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getUCR2AsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isTRAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTRAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTRAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getTRAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isTRAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTRAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isTR2AFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTR2AsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTR2AArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getTR2AsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isTR2AName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTR2AsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isHTADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getHTAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isHTAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getHTAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isHTAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getHTAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double FL() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FL", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double SM() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool SA() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool isBMAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getBMAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isBMAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getBMAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isSMaskADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getSMaskAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isSMaskAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getSMaskAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double CA() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double ca() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ca", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool AIS() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AIS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool TK() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TK", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfGraphicsStateDictionary
diff --git a/experimental/PdfViewer/SkPdfGroupAttributesDictionary_autogen.h b/experimental/PdfViewer/SkPdfGroupAttributesDictionary_autogen.h
new file mode 100644 (file)
index 0000000..1e9020f
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfGroupAttributesDictionary
+#define __DEFINED__SkPdfGroupAttributesDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfGroupAttributesDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryGroupAttributesDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryGroupAttributesDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return this;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfGroupAttributesDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfGroupAttributesDictionary& operator=(const SkPdfGroupAttributesDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfGroupAttributesDictionary
diff --git a/experimental/PdfViewer/SkPdfHeaders_autogen.h b/experimental/PdfViewer/SkPdfHeaders_autogen.h
new file mode 100644 (file)
index 0000000..049762d
--- /dev/null
@@ -0,0 +1,183 @@
+#ifndef __DEFINED__SkPdfHeaders
+#define __DEFINED__SkPdfHeaders
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfJavascriptActionDictionary_autogen.h"
+#include "SkPdfMovieAnnotationDictionary_autogen.h"
+#include "SkPdfMetadataStreamDictionary_autogen.h"
+#include "SkPdfPageTreeNodeDictionary_autogen.h"
+#include "SkPdfWebCaptureCommandDictionary_autogen.h"
+#include "SkPdfAnnotationActionsDictionary_autogen.h"
+#include "SkPdfInkAnnotationDictionary_autogen.h"
+#include "SkPdfWindowsLaunchActionDictionary_autogen.h"
+#include "SkPdfBeadDictionary_autogen.h"
+#include "SkPdfPageObjectDictionary_autogen.h"
+#include "SkPdfType16HalftoneDictionary_autogen.h"
+#include "SkPdfObject_autogen.h"
+#include "SkPdfFontDescriptorDictionary_autogen.h"
+#include "SkPdfLaunchActionDictionary_autogen.h"
+#include "SkPdfType3FontDictionary_autogen.h"
+#include "SkPdfMovieActionDictionary_autogen.h"
+#include "SkPdfBorderStyleDictionary_autogen.h"
+#include "SkPdfNamedActionsDictionary_autogen.h"
+#include "SkPdfLzwdecodeAndFlatedecodeFiltersDictionary_autogen.h"
+#include "SkPdfTrueTypeFontDictionary_autogen.h"
+#include "SkPdfJavascriptDictionary_autogen.h"
+#include "SkPdfFDFTrailerDictionary_autogen.h"
+#include "SkPdfMultiMasterFontDictionary_autogen.h"
+#include "SkPdfEmbeddedFileStreamDictionary_autogen.h"
+#include "SkPdfAppearanceDictionary_autogen.h"
+#include "SkPdfRadioButtonFieldDictionary_autogen.h"
+#include "SkPdfType6HalftoneDictionary_autogen.h"
+#include "SkPdfFDFNamedPageReferenceDictionary_autogen.h"
+#include "SkPdfReference_autogen.h"
+#include "SkPdfWebCaptureImageSetDictionary_autogen.h"
+#include "SkPdfBlockLevelStructureElementsDictionary_autogen.h"
+#include "SkPdfViewerPreferencesDictionary_autogen.h"
+#include "SkPdfType3FunctionDictionary_autogen.h"
+#include "SkPdfFieldDictionary_autogen.h"
+#include "SkPdfAnnotationDictionary_autogen.h"
+#include "SkPdfType3ShadingDictionary_autogen.h"
+#include "SkPdfType1HalftoneDictionary_autogen.h"
+#include "SkPdfActionDictionary_autogen.h"
+#include "SkPdfDocumentInformationDictionary_autogen.h"
+#include "SkPdfStructureElementDictionary_autogen.h"
+#include "SkPdfIccProfileStreamDictionary_autogen.h"
+#include "SkPdfType1FontDictionary_autogen.h"
+#include "SkPdfTextFieldDictionary_autogen.h"
+#include "SkPdfGroupAttributesDictionary_autogen.h"
+#include "SkPdfFileSpecificationDictionary_autogen.h"
+#include "SkPdfRubberStampAnnotationDictionary_autogen.h"
+#include "SkPdfSoftMaskImageDictionary_autogen.h"
+#include "SkPdfTrapNetworkAnnotationDictionary_autogen.h"
+#include "SkPdfRemoteGoToActionDictionary_autogen.h"
+#include "SkPdfMarkInformationDictionary_autogen.h"
+#include "SkPdfComponentsWithMetadataDictionary_autogen.h"
+#include "SkPdfString_autogen.h"
+#include "SkPdfAlternateImageDictionary_autogen.h"
+#include "SkPdfArtifactsDictionary_autogen.h"
+#include "SkPdfPrinterMarkFormDictionary_autogen.h"
+#include "SkPdfFreeTextAnnotationDictionary_autogen.h"
+#include "SkPdfLineAnnotationDictionary_autogen.h"
+#include "SkPdfFDFFileAnnotationDictionary_autogen.h"
+#include "SkPdfWebCaptureDictionary_autogen.h"
+#include "SkPdfPageObjectActionsDictionary_autogen.h"
+#include "SkPdfSeparationDictionary_autogen.h"
+#include "SkPdfSoftMaskDictionary_autogen.h"
+#include "SkPdfURLAliasDictionary_autogen.h"
+#include "SkPdfListAttributeDictionary_autogen.h"
+#include "SkPdfResourceDictionary_autogen.h"
+#include "SkPdfNameTreeNodeDictionary_autogen.h"
+#include "SkPdfIconFitDictionary_autogen.h"
+#include "SkPdfImportDataActionDictionary_autogen.h"
+#include "SkPdfTransparencyGroupDictionary_autogen.h"
+#include "SkPdfInteractiveFormDictionary_autogen.h"
+#include "SkPdfMovieActivationDictionary_autogen.h"
+#include "SkPdfPageLabelDictionary_autogen.h"
+#include "SkPdfLabColorSpaceDictionary_autogen.h"
+#include "SkPdfFDFCatalogDictionary_autogen.h"
+#include "SkPdfALinkAnnotationDictionary_autogen.h"
+#include "SkPdfAppearanceCharacteristicsDictionary_autogen.h"
+#include "SkPdfTransitionDictionary_autogen.h"
+#include "SkPdfApplicationDataDictionary_autogen.h"
+#include "SkPdfFileAttachmentAnnotationDictionary_autogen.h"
+#include "SkPdfGraphicsStateDictionary_autogen.h"
+#include "SkPdfType0FontDictionary_autogen.h"
+#include "SkPdfMacOsFileInformationDictionary_autogen.h"
+#include "SkPdfWebCapturePageSetDictionary_autogen.h"
+#include "SkPdfNumberTreeNodeDictionary_autogen.h"
+#include "SkPdfURIActionDictionary_autogen.h"
+#include "SkPdfVariableTextFieldDictionary_autogen.h"
+#include "SkPdfJbig2DecodeFilterDictionary_autogen.h"
+#include "SkPdfSourceInformationDictionary_autogen.h"
+#include "SkPdfFDFDictionary_autogen.h"
+#include "SkPdfThreadActionDictionary_autogen.h"
+#include "SkPdfReferenceDictionary_autogen.h"
+#include "SkPdfEncodingDictionary_autogen.h"
+#include "SkPdfFDFFieldDictionary_autogen.h"
+#include "SkPdfAttributeObjectDictionary_autogen.h"
+#include "SkPdfCIDSystemInfoDictionary_autogen.h"
+#include "SkPdfMarkedContentReferenceDictionary_autogen.h"
+#include "SkPdfResetFormActionDictionary_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+#include "SkPdfCalgrayColorSpaceDictionary_autogen.h"
+#include "SkPdfSquareOrCircleAnnotation_autogen.h"
+#include "SkPdfTableAttributesDictionary_autogen.h"
+#include "SkPdfSubmitFormActionDictionary_autogen.h"
+#include "SkPdfType2FunctionDictionary_autogen.h"
+#include "SkPdfCheckboxFieldDictionary_autogen.h"
+#include "SkPdfBoxStyleDictionary_autogen.h"
+#include "SkPdfInteger_autogen.h"
+#include "SkPdfType1PatternDictionary_autogen.h"
+#include "SkPdfHexString_autogen.h"
+#include "SkPdfPagePieceDictionary_autogen.h"
+#include "SkPdfEncryptedEmbeddedFileStreamDictionary_autogen.h"
+#include "SkPdfWebCaptureCommandSettingsDictionary_autogen.h"
+#include "SkPdfType2ShadingDictionary_autogen.h"
+#include "SkPdfInlineLevelStructureElementsDictionary_autogen.h"
+#include "SkPdfMarkupAnnotationsDictionary_autogen.h"
+#include "SkPdfPopUpAnnotationDictionary_autogen.h"
+#include "SkPdfFormFieldActionsDictionary_autogen.h"
+#include "SkPdfTrapNetworkAppearanceStreamDictionary_autogen.h"
+#include "SkPdfSoundObjectDictionary_autogen.h"
+#include "SkPdfOutlineItemDictionary_autogen.h"
+#include "SkPdfCIDFontDescriptorDictionary_autogen.h"
+#include "SkPdfCMapDictionary_autogen.h"
+#include "SkPdfNumber_autogen.h"
+#include "SkPdfTextAnnotationDictionary_autogen.h"
+#include "SkPdfType2PatternDictionary_autogen.h"
+#include "SkPdfPSXobjectDictionary_autogen.h"
+#include "SkPdfOutlineDictionary_autogen.h"
+#include "SkPdfThreadDictionary_autogen.h"
+#include "SkPdfImageDictionary_autogen.h"
+#include "SkPdfCIDFontDictionary_autogen.h"
+#include "SkPdfType5ShadingDictionary_autogen.h"
+#include "SkPdfType5HalftoneDictionary_autogen.h"
+#include "SkPdfOpiVersionDictionary_autogen.h"
+#include "SkPdfStructureElementAccessDictionary_autogen.h"
+#include "SkPdfDocumentCatalogActionsDictionary_autogen.h"
+#include "SkPdfDeviceNColorSpaceDictionary_autogen.h"
+#include "SkPdfMovieDictionary_autogen.h"
+#include "SkPdfWidgetAnnotationDictionary_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+#include "SkPdfCatalogDictionary_autogen.h"
+#include "SkPdfStructureTreeRootDictionary_autogen.h"
+#include "SkPdfType6ShadingDictionary_autogen.h"
+#include "SkPdfFileTrailerDictionary_autogen.h"
+#include "SkPdfFDFTemplateDictionary_autogen.h"
+#include "SkPdfEmbeddedFileParameterDictionary_autogen.h"
+#include "SkPdfBoxColorInformationDictionary_autogen.h"
+#include "SkPdfXObjectDictionary_autogen.h"
+#include "SkPdfGoToActionDictionary_autogen.h"
+#include "SkPdfObjectReferenceDictionary_autogen.h"
+#include "SkPdfBoolean_autogen.h"
+#include "SkPdfWebCaptureInformationDictionary_autogen.h"
+#include "SkPdfStreamCommonDictionary_autogen.h"
+#include "SkPdfDctdecodeFilterDictionary_autogen.h"
+#include "SkPdfPrinterMarkAnnotationDictionary_autogen.h"
+#include "SkPdfStandardStructureDictionary_autogen.h"
+#include "SkPdfName_autogen.h"
+#include "SkPdfEncryptionCommonDictionary_autogen.h"
+#include "SkPdfStandardSecurityHandlerDictionary_autogen.h"
+#include "SkPdfSoundAnnotationDictionary_autogen.h"
+#include "SkPdfChoiceFieldDictionary_autogen.h"
+#include "SkPdfPDF_XOutputIntentDictionary_autogen.h"
+#include "SkPdfType4ShadingDictionary_autogen.h"
+#include "SkPdfSoundActionDictionary_autogen.h"
+#include "SkPdfNull_autogen.h"
+#include "SkPdfType10HalftoneDictionary_autogen.h"
+#include "SkPdfEmbeddedFontStreamDictionary_autogen.h"
+#include "SkPdfType1ShadingDictionary_autogen.h"
+#include "SkPdfNameDictionary_autogen.h"
+#include "SkPdfCcittfaxdecodeFilterDictionary_autogen.h"
+#include "SkPdfType1FormDictionary_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+#include "SkPdfFunctionCommonDictionary_autogen.h"
+#include "SkPdfHideActionDictionary_autogen.h"
+#include "SkPdfURIDictionary_autogen.h"
+#include "SkPdfSignatureDictionary_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfType0FunctionDictionary_autogen.h"
+#include "SkPdfFDFPageDictionary_autogen.h"
+#include "SkPdfCalrgbColorSpaceDictionary_autogen.h"
+#endif  // __DEFINED__SkPdfHeaders
diff --git a/experimental/PdfViewer/SkPdfHexString_autogen.h b/experimental/PdfViewer/SkPdfHexString_autogen.h
new file mode 100644 (file)
index 0000000..7975ec8
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfHexString
+#define __DEFINED__SkPdfHexString
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfHexString : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectHexString_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectHexString_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfHexString* asHexString() {return this;}
+  virtual const SkPdfHexString* asHexString() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  const std::string& value() const {return fPodofoObj->GetString().GetStringUtf8();}
+private:
+public:
+  SkPdfHexString(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfHexString& operator=(const SkPdfHexString& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfHexString
diff --git a/experimental/PdfViewer/SkPdfHideActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfHideActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8459a57
--- /dev/null
@@ -0,0 +1,579 @@
+#ifndef __DEFINED__SkPdfHideActionDictionary
+#define __DEFINED__SkPdfHideActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfHideActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryHideActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryHideActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return this;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfHideActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfHideActionDictionary& operator=(const SkPdfHideActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isTADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getTAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isTAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getTAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isTAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getTAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool H() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfHideActionDictionary
diff --git a/experimental/PdfViewer/SkPdfIccProfileStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfIccProfileStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9a66ebe
--- /dev/null
@@ -0,0 +1,573 @@
+#ifndef __DEFINED__SkPdfIccProfileStreamDictionary
+#define __DEFINED__SkPdfIccProfileStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfIccProfileStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryIccProfileStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryIccProfileStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return this;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfIccProfileStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfIccProfileStreamDictionary& operator=(const SkPdfIccProfileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long N() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isAlternateAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getAlternateAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isAlternateAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getAlternateAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray Range() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfIccProfileStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfIconFitDictionary_autogen.h b/experimental/PdfViewer/SkPdfIconFitDictionary_autogen.h
new file mode 100644 (file)
index 0000000..aa7df7f
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfIconFitDictionary
+#define __DEFINED__SkPdfIconFitDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfIconFitDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryIconFitDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryIconFitDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return this;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfIconFitDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfIconFitDictionary& operator=(const SkPdfIconFitDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string SW() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SW", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray A() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfIconFitDictionary
diff --git a/experimental/PdfViewer/SkPdfImageDictionary_autogen.h b/experimental/PdfViewer/SkPdfImageDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c1ca910
--- /dev/null
@@ -0,0 +1,195 @@
+#ifndef __DEFINED__SkPdfImageDictionary
+#define __DEFINED__SkPdfImageDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfXObjectDictionary_autogen.h"
+
+class SkPdfImageDictionary : public SkPdfXObjectDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryXObjectDictionaryImageDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryXObjectDictionaryImageDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfImageDictionary* asImageDictionary() {return this;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfImageDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfXObjectDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfImageDictionary& operator=(const SkPdfImageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Width() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Height() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isColorSpaceAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getColorSpaceAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isColorSpaceAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getColorSpaceAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long BitsPerComponent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string Intent() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Intent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool ImageMask() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ImageMask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool isMaskAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getMaskAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isMaskAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getMaskAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfStream SMask() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray Decode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool Interpolate() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Interpolate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  SkPdfArray Alternates() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternates", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long StructParent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string ID() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* OPI() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfImageDictionary
diff --git a/experimental/PdfViewer/SkPdfImportDataActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfImportDataActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6cda9ae
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfImportDataActionDictionary
+#define __DEFINED__SkPdfImportDataActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfImportDataActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryImportDataActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryImportDataActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return this;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfImportDataActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfImportDataActionDictionary& operator=(const SkPdfImportDataActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfImportDataActionDictionary
diff --git a/experimental/PdfViewer/SkPdfInkAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfInkAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..34dd4ad
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfInkAnnotationDictionary
+#define __DEFINED__SkPdfInkAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfInkAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryInkAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryInkAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return this;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfInkAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfInkAnnotationDictionary& operator=(const SkPdfInkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray InkList() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InkList", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* BS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfInkAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfInlineLevelStructureElementsDictionary_autogen.h b/experimental/PdfViewer/SkPdfInlineLevelStructureElementsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..469208c
--- /dev/null
@@ -0,0 +1,552 @@
+#ifndef __DEFINED__SkPdfInlineLevelStructureElementsDictionary
+#define __DEFINED__SkPdfInlineLevelStructureElementsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfInlineLevelStructureElementsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryInlineLevelStructureElementsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryInlineLevelStructureElementsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return this;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfInlineLevelStructureElementsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfInlineLevelStructureElementsDictionary& operator=(const SkPdfInlineLevelStructureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool isLineHeightANumber() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Real;
+  }
+
+  double getLineHeightAsNumber() const {
+    double ret = 0;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isLineHeightAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getLineHeightAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfInlineLevelStructureElementsDictionary
diff --git a/experimental/PdfViewer/SkPdfInteger_autogen.h b/experimental/PdfViewer/SkPdfInteger_autogen.h
new file mode 100644 (file)
index 0000000..18813f8
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfInteger
+#define __DEFINED__SkPdfInteger
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfInteger : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectInteger_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectInteger_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfInteger* asInteger() {return this;}
+  virtual const SkPdfInteger* asInteger() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  long value() const {return fPodofoObj->GetNumber();}
+private:
+public:
+  SkPdfInteger(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfInteger& operator=(const SkPdfInteger& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfInteger
diff --git a/experimental/PdfViewer/SkPdfInteractiveFormDictionary_autogen.h b/experimental/PdfViewer/SkPdfInteractiveFormDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8ffecd8
--- /dev/null
@@ -0,0 +1,575 @@
+#ifndef __DEFINED__SkPdfInteractiveFormDictionary
+#define __DEFINED__SkPdfInteractiveFormDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfInteractiveFormDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryInteractiveFormDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryInteractiveFormDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return this;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfInteractiveFormDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfInteractiveFormDictionary& operator=(const SkPdfInteractiveFormDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Fields() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool NeedAppearances() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NeedAppearances", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  long SigFlags() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SigFlags", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray CO() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CO", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* DR() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string DA() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Q() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfInteractiveFormDictionary
diff --git a/experimental/PdfViewer/SkPdfJavascriptActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfJavascriptActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5c6a760
--- /dev/null
@@ -0,0 +1,559 @@
+#ifndef __DEFINED__SkPdfJavascriptActionDictionary
+#define __DEFINED__SkPdfJavascriptActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfJavascriptActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryJavascriptActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryJavascriptActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return this;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfJavascriptActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfJavascriptActionDictionary& operator=(const SkPdfJavascriptActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isJSAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getJSAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isJSAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getJSAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfJavascriptActionDictionary
diff --git a/experimental/PdfViewer/SkPdfJavascriptDictionary_autogen.h b/experimental/PdfViewer/SkPdfJavascriptDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c0e6388
--- /dev/null
@@ -0,0 +1,585 @@
+#ifndef __DEFINED__SkPdfJavascriptDictionary
+#define __DEFINED__SkPdfJavascriptDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfJavascriptDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryJavascriptDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryJavascriptDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return this;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfJavascriptDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfJavascriptDictionary& operator=(const SkPdfJavascriptDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool isBeforeAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getBeforeAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isBeforeAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getBeforeAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isAfterAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getAfterAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isAfterAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getAfterAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray Doc() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Doc", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfJavascriptDictionary
diff --git a/experimental/PdfViewer/SkPdfJbig2DecodeFilterDictionary_autogen.h b/experimental/PdfViewer/SkPdfJbig2DecodeFilterDictionary_autogen.h
new file mode 100644 (file)
index 0000000..288842c
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfJbig2DecodeFilterDictionary
+#define __DEFINED__SkPdfJbig2DecodeFilterDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfJbig2DecodeFilterDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryJbig2DecodeFilterDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryJbig2DecodeFilterDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return this;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfJbig2DecodeFilterDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfJbig2DecodeFilterDictionary& operator=(const SkPdfJbig2DecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfStream JBIG2Globals() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JBIG2Globals", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfJbig2DecodeFilterDictionary
diff --git a/experimental/PdfViewer/SkPdfLabColorSpaceDictionary_autogen.h b/experimental/PdfViewer/SkPdfLabColorSpaceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..aeb97d4
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfLabColorSpaceDictionary
+#define __DEFINED__SkPdfLabColorSpaceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfLabColorSpaceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryLabColorSpaceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryLabColorSpaceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return this;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfLabColorSpaceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfLabColorSpaceDictionary& operator=(const SkPdfLabColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray WhitePoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray BlackPoint() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Range() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfLabColorSpaceDictionary
diff --git a/experimental/PdfViewer/SkPdfLaunchActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfLaunchActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..e4d4776
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfLaunchActionDictionary
+#define __DEFINED__SkPdfLaunchActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfLaunchActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryLaunchActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryLaunchActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return this;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfLaunchActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfLaunchActionDictionary& operator=(const SkPdfLaunchActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  SkPdfDictionary* Win() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Win", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* Mac() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* Unix() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool NewWindow() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NewWindow", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfLaunchActionDictionary
diff --git a/experimental/PdfViewer/SkPdfLineAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfLineAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9c0cb27
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfLineAnnotationDictionary
+#define __DEFINED__SkPdfLineAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfLineAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryLineAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryLineAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return this;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfLineAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfLineAnnotationDictionary& operator=(const SkPdfLineAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray L() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "L", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* BS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray LE() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LE", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray IC() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfLineAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfListAttributeDictionary_autogen.h b/experimental/PdfViewer/SkPdfListAttributeDictionary_autogen.h
new file mode 100644 (file)
index 0000000..65689fa
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfListAttributeDictionary
+#define __DEFINED__SkPdfListAttributeDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfListAttributeDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryListAttributeDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryListAttributeDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return this;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfListAttributeDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfListAttributeDictionary& operator=(const SkPdfListAttributeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string ListNumbering() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ListNumbering", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfListAttributeDictionary
diff --git a/experimental/PdfViewer/SkPdfLzwdecodeAndFlatedecodeFiltersDictionary_autogen.h b/experimental/PdfViewer/SkPdfLzwdecodeAndFlatedecodeFiltersDictionary_autogen.h
new file mode 100644 (file)
index 0000000..cac000b
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfLzwdecodeAndFlatedecodeFiltersDictionary
+#define __DEFINED__SkPdfLzwdecodeAndFlatedecodeFiltersDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfLzwdecodeAndFlatedecodeFiltersDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryLzwdecodeAndFlatedecodeFiltersDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryLzwdecodeAndFlatedecodeFiltersDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return this;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfLzwdecodeAndFlatedecodeFiltersDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfLzwdecodeAndFlatedecodeFiltersDictionary& operator=(const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Predictor() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Predictor", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Colors() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colors", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerComponent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Columns() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long EarlyChange() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EarlyChange", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfLzwdecodeAndFlatedecodeFiltersDictionary
diff --git a/experimental/PdfViewer/SkPdfMacOsFileInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfMacOsFileInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..79e5f40
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfMacOsFileInformationDictionary
+#define __DEFINED__SkPdfMacOsFileInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMacOsFileInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMacOsFileInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMacOsFileInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return this;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMacOsFileInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMacOsFileInformationDictionary& operator=(const SkPdfMacOsFileInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Creator() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream ResFork() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ResFork", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMacOsFileInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfMarkInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfMarkInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..0e4488e
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfMarkInformationDictionary
+#define __DEFINED__SkPdfMarkInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMarkInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMarkInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMarkInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return this;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMarkInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMarkInformationDictionary& operator=(const SkPdfMarkInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool Marked() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Marked", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMarkInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfMarkedContentReferenceDictionary_autogen.h b/experimental/PdfViewer/SkPdfMarkedContentReferenceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..375e906
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfMarkedContentReferenceDictionary
+#define __DEFINED__SkPdfMarkedContentReferenceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMarkedContentReferenceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMarkedContentReferenceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMarkedContentReferenceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return this;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMarkedContentReferenceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMarkedContentReferenceDictionary& operator=(const SkPdfMarkedContentReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Pg() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Stm() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Stm", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfObject* StmOwn() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StmOwn", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long MCID() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MCID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMarkedContentReferenceDictionary
diff --git a/experimental/PdfViewer/SkPdfMarkupAnnotationsDictionary_autogen.h b/experimental/PdfViewer/SkPdfMarkupAnnotationsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..dbf2032
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfMarkupAnnotationsDictionary
+#define __DEFINED__SkPdfMarkupAnnotationsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMarkupAnnotationsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMarkupAnnotationsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMarkupAnnotationsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return this;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMarkupAnnotationsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMarkupAnnotationsDictionary& operator=(const SkPdfMarkupAnnotationsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray QuadPoints() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "QuadPoints", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMarkupAnnotationsDictionary
diff --git a/experimental/PdfViewer/SkPdfMetadataStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfMetadataStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d4dcbfd
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfMetadataStreamDictionary
+#define __DEFINED__SkPdfMetadataStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMetadataStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMetadataStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMetadataStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return this;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMetadataStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMetadataStreamDictionary& operator=(const SkPdfMetadataStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMetadataStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfMovieActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfMovieActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d5db718
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfMovieActionDictionary
+#define __DEFINED__SkPdfMovieActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMovieActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMovieActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMovieActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return this;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMovieActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMovieActionDictionary& operator=(const SkPdfMovieActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Annot() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annot", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Operation() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Operation", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMovieActionDictionary
diff --git a/experimental/PdfViewer/SkPdfMovieActivationDictionary_autogen.h b/experimental/PdfViewer/SkPdfMovieActivationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..38b53ee
--- /dev/null
@@ -0,0 +1,589 @@
+#ifndef __DEFINED__SkPdfMovieActivationDictionary
+#define __DEFINED__SkPdfMovieActivationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMovieActivationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMovieActivationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMovieActivationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return this;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMovieActivationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMovieActivationDictionary& operator=(const SkPdfMovieActivationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfObject* Start() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Start", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* Duration() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Duration", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  double Rate() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double Volume() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Volume", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool ShowControls() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ShowControls", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  std::string Mode() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool Synchronous() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Synchronous", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  SkPdfArray FWScale() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWScale", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray FWPosition() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWPosition", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMovieActivationDictionary
diff --git a/experimental/PdfViewer/SkPdfMovieAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfMovieAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4a861dc
--- /dev/null
@@ -0,0 +1,573 @@
+#ifndef __DEFINED__SkPdfMovieAnnotationDictionary
+#define __DEFINED__SkPdfMovieAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMovieAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMovieAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMovieAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return this;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMovieAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMovieAnnotationDictionary& operator=(const SkPdfMovieAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Movie() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Movie", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isAABoolean() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Bool;
+  }
+
+  bool getAAsBoolean() const {
+    bool ret = false;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool isAADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getAAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMovieAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfMovieDictionary_autogen.h b/experimental/PdfViewer/SkPdfMovieDictionary_autogen.h
new file mode 100644 (file)
index 0000000..7e0325d
--- /dev/null
@@ -0,0 +1,573 @@
+#ifndef __DEFINED__SkPdfMovieDictionary
+#define __DEFINED__SkPdfMovieDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfMovieDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryMovieDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryMovieDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return this;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfMovieDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMovieDictionary& operator=(const SkPdfMovieDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  SkPdfArray Aspect() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Aspect", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long Rotate() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isPosterABoolean() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Bool;
+  }
+
+  bool getPosterAsBoolean() const {
+    bool ret = false;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool isPosterAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getPosterAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMovieDictionary
diff --git a/experimental/PdfViewer/SkPdfMultiMasterFontDictionary_autogen.h b/experimental/PdfViewer/SkPdfMultiMasterFontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..09de14c
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef __DEFINED__SkPdfMultiMasterFontDictionary
+#define __DEFINED__SkPdfMultiMasterFontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfType1FontDictionary_autogen.h"
+
+class SkPdfMultiMasterFontDictionary : public SkPdfType1FontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryType1FontDictionaryMultiMasterFontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDictionaryType1FontDictionaryMultiMasterFontDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return this;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return this;}
+
+private:
+public:
+private:
+public:
+  SkPdfMultiMasterFontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfType1FontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfMultiMasterFontDictionary& operator=(const SkPdfMultiMasterFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfMultiMasterFontDictionary
diff --git a/experimental/PdfViewer/SkPdfNameDictionary_autogen.h b/experimental/PdfViewer/SkPdfNameDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9f86776
--- /dev/null
@@ -0,0 +1,734 @@
+#ifndef __DEFINED__SkPdfNameDictionary
+#define __DEFINED__SkPdfNameDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfNameDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryNameDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryNameDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNameDictionary* asNameDictionary() {return this;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfNameDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNameDictionary& operator=(const SkPdfNameDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool isDestsAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDestsAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDestsATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getDestsAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isAPAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getAPAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isAPATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getAPAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isJavaScriptAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getJavaScriptAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isJavaScriptATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getJavaScriptAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isPagesAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getPagesAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isPagesATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getPagesAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isTemplatesAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTemplatesAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isTemplatesATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getTemplatesAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isIDSAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getIDSAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isIDSATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getIDSAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isURLSAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getURLSAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isURLSATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getURLSAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isEmbeddedFilesAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getEmbeddedFilesAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isEmbeddedFilesATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getEmbeddedFilesAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfNameDictionary
diff --git a/experimental/PdfViewer/SkPdfNameTreeNodeDictionary_autogen.h b/experimental/PdfViewer/SkPdfNameTreeNodeDictionary_autogen.h
new file mode 100644 (file)
index 0000000..073c7df
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfNameTreeNodeDictionary
+#define __DEFINED__SkPdfNameTreeNodeDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfNameTreeNodeDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryNameTreeNodeDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryNameTreeNodeDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return this;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfNameTreeNodeDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNameTreeNodeDictionary& operator=(const SkPdfNameTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Kids() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Names() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Limits() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfNameTreeNodeDictionary
diff --git a/experimental/PdfViewer/SkPdfName_autogen.h b/experimental/PdfViewer/SkPdfName_autogen.h
new file mode 100644 (file)
index 0000000..0133f4e
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfName
+#define __DEFINED__SkPdfName
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfName : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectName_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectName_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfName* asName() {return this;}
+  virtual const SkPdfName* asName() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  const std::string& value() const {return fPodofoObj->GetName().GetName();}
+private:
+public:
+  SkPdfName(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfName& operator=(const SkPdfName& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfName
diff --git a/experimental/PdfViewer/SkPdfNamedActionsDictionary_autogen.h b/experimental/PdfViewer/SkPdfNamedActionsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..7ed80a9
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfNamedActionsDictionary
+#define __DEFINED__SkPdfNamedActionsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfNamedActionsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryNamedActionsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryNamedActionsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return this;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfNamedActionsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNamedActionsDictionary& operator=(const SkPdfNamedActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string N() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfNamedActionsDictionary
diff --git a/experimental/PdfViewer/SkPdfNull_autogen.h b/experimental/PdfViewer/SkPdfNull_autogen.h
new file mode 100644 (file)
index 0000000..0536614
--- /dev/null
@@ -0,0 +1,556 @@
+#ifndef __DEFINED__SkPdfNull
+#define __DEFINED__SkPdfNull
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfNull : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectNull_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectNull_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNull* asNull() {return this;}
+  virtual const SkPdfNull* asNull() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfNull(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNull& operator=(const SkPdfNull& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfNull
diff --git a/experimental/PdfViewer/SkPdfNumberTreeNodeDictionary_autogen.h b/experimental/PdfViewer/SkPdfNumberTreeNodeDictionary_autogen.h
new file mode 100644 (file)
index 0000000..cb310c2
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfNumberTreeNodeDictionary
+#define __DEFINED__SkPdfNumberTreeNodeDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfNumberTreeNodeDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryNumberTreeNodeDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryNumberTreeNodeDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return this;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfNumberTreeNodeDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNumberTreeNodeDictionary& operator=(const SkPdfNumberTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Kids() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Nums() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Nums", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Limits() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfNumberTreeNodeDictionary
diff --git a/experimental/PdfViewer/SkPdfNumber_autogen.h b/experimental/PdfViewer/SkPdfNumber_autogen.h
new file mode 100644 (file)
index 0000000..7cd6376
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfNumber
+#define __DEFINED__SkPdfNumber
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfNumber : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectNumber_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectNumber_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfNumber* asNumber() {return this;}
+  virtual const SkPdfNumber* asNumber() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+  double value() const {return fPodofoObj->GetReal();}
+private:
+public:
+  SkPdfNumber(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfNumber& operator=(const SkPdfNumber& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfNumber
diff --git a/experimental/PdfViewer/SkPdfObjectReferenceDictionary_autogen.h b/experimental/PdfViewer/SkPdfObjectReferenceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6692f04
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfObjectReferenceDictionary
+#define __DEFINED__SkPdfObjectReferenceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfObjectReferenceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryObjectReferenceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryObjectReferenceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return this;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfObjectReferenceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfObjectReferenceDictionary& operator=(const SkPdfObjectReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Pg() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* Obj() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Obj", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfObjectReferenceDictionary
diff --git a/experimental/PdfViewer/SkPdfObject_autogen.h b/experimental/PdfViewer/SkPdfObject_autogen.h
new file mode 100644 (file)
index 0000000..e2c0a35
--- /dev/null
@@ -0,0 +1,562 @@
+#ifndef __DEFINED__SkPdfObject
+#define __DEFINED__SkPdfObject
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+
+class SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObject_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObject__End_SkPdfObjectType;}
+public:
+  virtual SkPdfObject* asObject() {return this;}
+  virtual const SkPdfObject* asObject() const {return this;}
+
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+private:
+protected:
+  const PdfMemDocument* fPodofoDoc;
+  const PdfObject* fPodofoObj;
+
+public:
+  SkPdfObject(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : fPodofoDoc(podofoDoc), fPodofoObj(podofoObj) {}
+  const PdfMemDocument* doc() const { return fPodofoDoc;}
+  const PdfObject* podofo() const { return fPodofoObj;}
+  virtual bool valid() const {return true;}
+
+  SkPdfObject& operator=(const SkPdfObject& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfObject
diff --git a/experimental/PdfViewer/SkPdfOpiVersionDictionary_autogen.h b/experimental/PdfViewer/SkPdfOpiVersionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b4ced9b
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfOpiVersionDictionary
+#define __DEFINED__SkPdfOpiVersionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfOpiVersionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryOpiVersionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryOpiVersionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return this;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfOpiVersionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfOpiVersionDictionary& operator=(const SkPdfOpiVersionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* version_number() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "version_number", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfOpiVersionDictionary
diff --git a/experimental/PdfViewer/SkPdfOutlineDictionary_autogen.h b/experimental/PdfViewer/SkPdfOutlineDictionary_autogen.h
new file mode 100644 (file)
index 0000000..f41982e
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfOutlineDictionary
+#define __DEFINED__SkPdfOutlineDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfOutlineDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryOutlineDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryOutlineDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return this;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfOutlineDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfOutlineDictionary& operator=(const SkPdfOutlineDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* First() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Last() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long Count() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfOutlineDictionary
diff --git a/experimental/PdfViewer/SkPdfOutlineItemDictionary_autogen.h b/experimental/PdfViewer/SkPdfOutlineItemDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9294275
--- /dev/null
@@ -0,0 +1,642 @@
+#ifndef __DEFINED__SkPdfOutlineItemDictionary
+#define __DEFINED__SkPdfOutlineItemDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfOutlineItemDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryOutlineItemDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryOutlineItemDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return this;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfOutlineItemDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfOutlineItemDictionary& operator=(const SkPdfOutlineItemDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Title() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Parent() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Prev() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Next() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* First() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Last() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long Count() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isDestAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDestAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDestAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDestAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDestAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getDestAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* A() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* SE() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SE", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray C() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long F() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfOutlineItemDictionary
diff --git a/experimental/PdfViewer/SkPdfPDF_XOutputIntentDictionary_autogen.h b/experimental/PdfViewer/SkPdfPDF_XOutputIntentDictionary_autogen.h
new file mode 100644 (file)
index 0000000..0285cc7
--- /dev/null
@@ -0,0 +1,575 @@
+#ifndef __DEFINED__SkPdfPDF_XOutputIntentDictionary
+#define __DEFINED__SkPdfPDF_XOutputIntentDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPDF_XOutputIntentDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPDF_XOutputIntentDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPDF_XOutputIntentDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return this;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPDF_XOutputIntentDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPDF_XOutputIntentDictionary& operator=(const SkPdfPDF_XOutputIntentDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string OutputCondition() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputCondition", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string OutputConditionIdentifier() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputConditionIdentifier", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string RegistryName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RegistryName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Info() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream DestOutputProfile() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DestOutputProfile", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPDF_XOutputIntentDictionary
diff --git a/experimental/PdfViewer/SkPdfPSXobjectDictionary_autogen.h b/experimental/PdfViewer/SkPdfPSXobjectDictionary_autogen.h
new file mode 100644 (file)
index 0000000..514c7d8
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfPSXobjectDictionary
+#define __DEFINED__SkPdfPSXobjectDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPSXobjectDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPSXobjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPSXobjectDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return this;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPSXobjectDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPSXobjectDictionary& operator=(const SkPdfPSXobjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream Level1() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Level1", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPSXobjectDictionary
diff --git a/experimental/PdfViewer/SkPdfPageLabelDictionary_autogen.h b/experimental/PdfViewer/SkPdfPageLabelDictionary_autogen.h
new file mode 100644 (file)
index 0000000..46414bf
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfPageLabelDictionary
+#define __DEFINED__SkPdfPageLabelDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPageLabelDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPageLabelDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPageLabelDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return this;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPageLabelDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPageLabelDictionary& operator=(const SkPdfPageLabelDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string P() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long St() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "St", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPageLabelDictionary
diff --git a/experimental/PdfViewer/SkPdfPageObjectActionsDictionary_autogen.h b/experimental/PdfViewer/SkPdfPageObjectActionsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d9a5687
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfPageObjectActionsDictionary
+#define __DEFINED__SkPdfPageObjectActionsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPageObjectActionsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPageObjectActionsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPageObjectActionsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return this;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPageObjectActionsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPageObjectActionsDictionary& operator=(const SkPdfPageObjectActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* O() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* C() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPageObjectActionsDictionary
diff --git a/experimental/PdfViewer/SkPdfPageObjectDictionary_autogen.h b/experimental/PdfViewer/SkPdfPageObjectDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6adf62e
--- /dev/null
@@ -0,0 +1,720 @@
+#ifndef __DEFINED__SkPdfPageObjectDictionary
+#define __DEFINED__SkPdfPageObjectDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPageObjectDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPageObjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPageObjectDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return this;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPageObjectDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPageObjectDictionary& operator=(const SkPdfPageObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Parent() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDate LastModified() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfDictionary* Resources() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resources", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkRect MediaBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MediaBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkRect CropBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkRect BleedBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkRect TrimBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkRect ArtBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkPdfDictionary* BoxColorInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxColorInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isContentsAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getContentsAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  bool isContentsAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getContentsAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long Rotate() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* Group() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Thumb() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray B() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  double Dur() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* Trans() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Annots() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* AA() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfDictionary* PieceInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PieceInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long StructParents() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string ID() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double PZ() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* SeparationInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SeparationInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPageObjectDictionary
diff --git a/experimental/PdfViewer/SkPdfPagePieceDictionary_autogen.h b/experimental/PdfViewer/SkPdfPagePieceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..40a10fb
--- /dev/null
@@ -0,0 +1,538 @@
+#ifndef __DEFINED__SkPdfPagePieceDictionary
+#define __DEFINED__SkPdfPagePieceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPagePieceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPagePieceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPagePieceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return this;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPagePieceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPagePieceDictionary& operator=(const SkPdfPagePieceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+/*
+  bool has_[any_application_name_or_well_known_data_type]() const {
+    return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_application_name_or_well_known_data_type]", "", NULL));
+  }
+  SkPdfDictionary* [any_application_name_or_well_known_data_type]() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_application_name_or_well_known_data_type]", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+*/
+};
+
+#endif  // __DEFINED__SkPdfPagePieceDictionary
diff --git a/experimental/PdfViewer/SkPdfPageTreeNodeDictionary_autogen.h b/experimental/PdfViewer/SkPdfPageTreeNodeDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6445496
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfPageTreeNodeDictionary
+#define __DEFINED__SkPdfPageTreeNodeDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPageTreeNodeDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPageTreeNodeDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPageTreeNodeDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return this;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPageTreeNodeDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPageTreeNodeDictionary& operator=(const SkPdfPageTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Parent() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray Kids() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long Count() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPageTreeNodeDictionary
diff --git a/experimental/PdfViewer/SkPdfPodofoMapper_autogen.h b/experimental/PdfViewer/SkPdfPodofoMapper_autogen.h
new file mode 100644 (file)
index 0000000..6edf5dd
--- /dev/null
@@ -0,0 +1,3046 @@
+#ifndef __DEFINED__SkPdfPodofoMapper
+#define __DEFINED__SkPdfPodofoMapper
+
+#include "SkPdfHeaders_autogen.h"
+class PodofoMapper {
+public:
+  static bool map(const SkPdfObject& in, SkPdfObject** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfObject** out) {
+    if (!isObject(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfArray**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBoolean**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfHexString**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfInteger**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfName**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNull**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNumber**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfReference**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfString**)out)) return true;
+
+    *out = new SkPdfObject(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNull** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNull** out) {
+    if (!isNull(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNull(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBoolean** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBoolean** out) {
+    if (!isBoolean(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBoolean(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfInteger** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfInteger** out) {
+    if (!isInteger(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfInteger(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNumber** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNumber** out) {
+    if (!isNumber(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNumber(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfName** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfName** out) {
+    if (!isName(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfName(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfReference** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfReference** out) {
+    if (!isReference(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfReference(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfArray** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfArray** out) {
+    if (!isArray(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfArray(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfString** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfString** out) {
+    if (!isString(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfString(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfHexString** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfHexString** out) {
+    if (!isHexString(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfHexString(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfDictionary** out) {
+    if (!isDictionary(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfALinkAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAlternateImageDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAnnotationActionsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAppearanceCharacteristicsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAppearanceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfApplicationDataDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfArtifactsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfAttributeObjectDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBeadDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBlockLevelStructureElementsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBorderStyleDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBoxColorInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfBoxStyleDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCIDFontDescriptorDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCIDSystemInfoDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCMapDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCalgrayColorSpaceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCalrgbColorSpaceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCatalogDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCcittfaxdecodeFilterDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfCheckboxFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfChoiceFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfComponentsWithMetadataDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfDctdecodeFilterDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfDeviceNColorSpaceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfDocumentCatalogActionsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfDocumentInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEmbeddedFileParameterDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEmbeddedFileStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEmbeddedFontStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEncodingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEncryptedEmbeddedFileStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfEncryptionCommonDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFCatalogDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFFileAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFNamedPageReferenceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFPageDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFTemplateDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFDFTrailerDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFileAttachmentAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFileSpecificationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFileTrailerDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFontDescriptorDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFontDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFormFieldActionsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFreeTextAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfFunctionCommonDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfGoToActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfGraphicsStateDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfGroupAttributesDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfHideActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfIccProfileStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfIconFitDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfImportDataActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfInkAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfInlineLevelStructureElementsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfInteractiveFormDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfJavascriptActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfJavascriptDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfJbig2DecodeFilterDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfLabColorSpaceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfLaunchActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfLineAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfListAttributeDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfLzwdecodeAndFlatedecodeFiltersDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMacOsFileInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMarkInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMarkedContentReferenceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMarkupAnnotationsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMetadataStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMovieActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMovieActivationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMovieAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfMovieDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNameDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNameTreeNodeDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNamedActionsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfNumberTreeNodeDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfObjectReferenceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfOpiVersionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfOutlineDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfOutlineItemDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPDF_XOutputIntentDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPSXobjectDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPageLabelDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPageObjectActionsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPageObjectDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPagePieceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPageTreeNodeDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPopUpAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPrinterMarkAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfPrinterMarkFormDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfRadioButtonFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfReferenceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfRemoteGoToActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfResetFormActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfResourceDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfRubberStampAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSeparationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSignatureDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSoftMaskDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSoftMaskImageDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSoundActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSoundAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSoundObjectDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSourceInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSquareOrCircleAnnotation**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStandardSecurityHandlerDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStandardStructureDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStreamCommonDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStructureElementAccessDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStructureElementDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfStructureTreeRootDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfSubmitFormActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTableAttributesDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTextAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTextFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfThreadActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfThreadDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTransitionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTransparencyGroupDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTrapNetworkAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTrapNetworkAppearanceStreamDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType0FunctionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType10HalftoneDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType16HalftoneDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType1HalftoneDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType1PatternDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType2FunctionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType2PatternDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType3FunctionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType5HalftoneDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType6HalftoneDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfURIActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfURIDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfURLAliasDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfVariableTextFieldDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfViewerPreferencesDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCaptureCommandDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCaptureCommandSettingsDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCaptureDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCaptureImageSetDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCaptureInformationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWebCapturePageSetDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWidgetAnnotationDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfWindowsLaunchActionDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfXObjectDictionary**)out)) return true;
+
+    *out = new SkPdfDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfXObjectDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfXObjectDictionary** out) {
+    if (!isXObjectDictionary(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfImageDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType1FormDictionary**)out)) return true;
+
+    *out = new SkPdfXObjectDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFontDictionary** out) {
+    if (!isFontDictionary(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfCIDFontDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfTrueTypeFontDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType0FontDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType1FontDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType3FontDictionary**)out)) return true;
+
+    *out = new SkPdfFontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTrueTypeFontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTrueTypeFontDictionary** out) {
+    if (!isTrueTypeFontDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTrueTypeFontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStreamCommonDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStreamCommonDictionary** out) {
+    if (!isStreamCommonDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStreamCommonDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfLzwdecodeAndFlatedecodeFiltersDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfLzwdecodeAndFlatedecodeFiltersDictionary** out) {
+    if (!isLzwdecodeAndFlatedecodeFiltersDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfLzwdecodeAndFlatedecodeFiltersDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCcittfaxdecodeFilterDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCcittfaxdecodeFilterDictionary** out) {
+    if (!isCcittfaxdecodeFilterDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCcittfaxdecodeFilterDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfJbig2DecodeFilterDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfJbig2DecodeFilterDictionary** out) {
+    if (!isJbig2DecodeFilterDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfJbig2DecodeFilterDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfDctdecodeFilterDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfDctdecodeFilterDictionary** out) {
+    if (!isDctdecodeFilterDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfDctdecodeFilterDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFileTrailerDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFileTrailerDictionary** out) {
+    if (!isFileTrailerDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFileTrailerDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEncryptionCommonDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEncryptionCommonDictionary** out) {
+    if (!isEncryptionCommonDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEncryptionCommonDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStandardSecurityHandlerDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStandardSecurityHandlerDictionary** out) {
+    if (!isStandardSecurityHandlerDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStandardSecurityHandlerDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCatalogDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCatalogDictionary** out) {
+    if (!isCatalogDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCatalogDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPageTreeNodeDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPageTreeNodeDictionary** out) {
+    if (!isPageTreeNodeDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPageTreeNodeDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPageObjectDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPageObjectDictionary** out) {
+    if (!isPageObjectDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPageObjectDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNameDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNameDictionary** out) {
+    if (!isNameDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNameDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfResourceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfResourceDictionary** out) {
+    if (!isResourceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfResourceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNameTreeNodeDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNameTreeNodeDictionary** out) {
+    if (!isNameTreeNodeDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNameTreeNodeDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNumberTreeNodeDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNumberTreeNodeDictionary** out) {
+    if (!isNumberTreeNodeDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNumberTreeNodeDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFunctionCommonDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFunctionCommonDictionary** out) {
+    if (!isFunctionCommonDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFunctionCommonDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType0FunctionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType0FunctionDictionary** out) {
+    if (!isType0FunctionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType0FunctionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType2FunctionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType2FunctionDictionary** out) {
+    if (!isType2FunctionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType2FunctionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType3FunctionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType3FunctionDictionary** out) {
+    if (!isType3FunctionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType3FunctionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFileSpecificationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFileSpecificationDictionary** out) {
+    if (!isFileSpecificationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFileSpecificationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEmbeddedFileStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEmbeddedFileStreamDictionary** out) {
+    if (!isEmbeddedFileStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEmbeddedFileStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEmbeddedFileParameterDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEmbeddedFileParameterDictionary** out) {
+    if (!isEmbeddedFileParameterDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEmbeddedFileParameterDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMacOsFileInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMacOsFileInformationDictionary** out) {
+    if (!isMacOsFileInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMacOsFileInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfGraphicsStateDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfGraphicsStateDictionary** out) {
+    if (!isGraphicsStateDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfGraphicsStateDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCalgrayColorSpaceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCalgrayColorSpaceDictionary** out) {
+    if (!isCalgrayColorSpaceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCalgrayColorSpaceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCalrgbColorSpaceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCalrgbColorSpaceDictionary** out) {
+    if (!isCalrgbColorSpaceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCalrgbColorSpaceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfLabColorSpaceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfLabColorSpaceDictionary** out) {
+    if (!isLabColorSpaceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfLabColorSpaceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfIccProfileStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfIccProfileStreamDictionary** out) {
+    if (!isIccProfileStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfIccProfileStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfDeviceNColorSpaceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfDeviceNColorSpaceDictionary** out) {
+    if (!isDeviceNColorSpaceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfDeviceNColorSpaceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType1PatternDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType1PatternDictionary** out) {
+    if (!isType1PatternDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType1PatternDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType2PatternDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType2PatternDictionary** out) {
+    if (!isType2PatternDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType2PatternDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfShadingDictionary** out) {
+    if (!isShadingDictionary(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfType1ShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType2ShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType3ShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType4ShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType5ShadingDictionary**)out)) return true;
+    if (map(podofoDoc, podofoObj, (SkPdfType6ShadingDictionary**)out)) return true;
+
+    *out = new SkPdfShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType1ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType1ShadingDictionary** out) {
+    if (!isType1ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType1ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType2ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType2ShadingDictionary** out) {
+    if (!isType2ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType2ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType3ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType3ShadingDictionary** out) {
+    if (!isType3ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType3ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType4ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType4ShadingDictionary** out) {
+    if (!isType4ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType4ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType5ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType5ShadingDictionary** out) {
+    if (!isType5ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType5ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType6ShadingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType6ShadingDictionary** out) {
+    if (!isType6ShadingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType6ShadingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfImageDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfImageDictionary** out) {
+    if (!isImageDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfImageDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAlternateImageDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAlternateImageDictionary** out) {
+    if (!isAlternateImageDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAlternateImageDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType1FormDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType1FormDictionary** out) {
+    if (!isType1FormDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType1FormDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfGroupAttributesDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfGroupAttributesDictionary** out) {
+    if (!isGroupAttributesDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfGroupAttributesDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfReferenceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfReferenceDictionary** out) {
+    if (!isReferenceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfReferenceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPSXobjectDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPSXobjectDictionary** out) {
+    if (!isPSXobjectDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPSXobjectDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType1FontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType1FontDictionary** out) {
+    if (!isType1FontDictionary(podofoDoc, podofoObj)) return false;
+
+    if (map(podofoDoc, podofoObj, (SkPdfMultiMasterFontDictionary**)out)) return true;
+
+    *out = new SkPdfType1FontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType3FontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType3FontDictionary** out) {
+    if (!isType3FontDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType3FontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEncodingDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEncodingDictionary** out) {
+    if (!isEncodingDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEncodingDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCIDSystemInfoDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCIDSystemInfoDictionary** out) {
+    if (!isCIDSystemInfoDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCIDSystemInfoDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCIDFontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCIDFontDictionary** out) {
+    if (!isCIDFontDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCIDFontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCMapDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCMapDictionary** out) {
+    if (!isCMapDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCMapDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType0FontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType0FontDictionary** out) {
+    if (!isType0FontDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType0FontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFontDescriptorDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFontDescriptorDictionary** out) {
+    if (!isFontDescriptorDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFontDescriptorDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCIDFontDescriptorDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCIDFontDescriptorDictionary** out) {
+    if (!isCIDFontDescriptorDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCIDFontDescriptorDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEmbeddedFontStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEmbeddedFontStreamDictionary** out) {
+    if (!isEmbeddedFontStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEmbeddedFontStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType1HalftoneDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType1HalftoneDictionary** out) {
+    if (!isType1HalftoneDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType1HalftoneDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType6HalftoneDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType6HalftoneDictionary** out) {
+    if (!isType6HalftoneDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType6HalftoneDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType10HalftoneDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType10HalftoneDictionary** out) {
+    if (!isType10HalftoneDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType10HalftoneDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType16HalftoneDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType16HalftoneDictionary** out) {
+    if (!isType16HalftoneDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType16HalftoneDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfType5HalftoneDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfType5HalftoneDictionary** out) {
+    if (!isType5HalftoneDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfType5HalftoneDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSoftMaskDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSoftMaskDictionary** out) {
+    if (!isSoftMaskDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSoftMaskDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSoftMaskImageDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSoftMaskImageDictionary** out) {
+    if (!isSoftMaskImageDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSoftMaskImageDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTransparencyGroupDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTransparencyGroupDictionary** out) {
+    if (!isTransparencyGroupDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTransparencyGroupDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfViewerPreferencesDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfViewerPreferencesDictionary** out) {
+    if (!isViewerPreferencesDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfViewerPreferencesDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfOutlineDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfOutlineDictionary** out) {
+    if (!isOutlineDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfOutlineDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfOutlineItemDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfOutlineItemDictionary** out) {
+    if (!isOutlineItemDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfOutlineItemDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPageLabelDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPageLabelDictionary** out) {
+    if (!isPageLabelDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPageLabelDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfThreadDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfThreadDictionary** out) {
+    if (!isThreadDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfThreadDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBeadDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBeadDictionary** out) {
+    if (!isBeadDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBeadDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTransitionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTransitionDictionary** out) {
+    if (!isTransitionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTransitionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAnnotationDictionary** out) {
+    if (!isAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBorderStyleDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBorderStyleDictionary** out) {
+    if (!isBorderStyleDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBorderStyleDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAppearanceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAppearanceDictionary** out) {
+    if (!isAppearanceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAppearanceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTextAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTextAnnotationDictionary** out) {
+    if (!isTextAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTextAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfALinkAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfALinkAnnotationDictionary** out) {
+    if (!isALinkAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfALinkAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFreeTextAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFreeTextAnnotationDictionary** out) {
+    if (!isFreeTextAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFreeTextAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfLineAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfLineAnnotationDictionary** out) {
+    if (!isLineAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfLineAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSquareOrCircleAnnotation** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSquareOrCircleAnnotation** out) {
+    if (!isSquareOrCircleAnnotation(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSquareOrCircleAnnotation(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMarkupAnnotationsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMarkupAnnotationsDictionary** out) {
+    if (!isMarkupAnnotationsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMarkupAnnotationsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfRubberStampAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfRubberStampAnnotationDictionary** out) {
+    if (!isRubberStampAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfRubberStampAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfInkAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfInkAnnotationDictionary** out) {
+    if (!isInkAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfInkAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPopUpAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPopUpAnnotationDictionary** out) {
+    if (!isPopUpAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPopUpAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFileAttachmentAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFileAttachmentAnnotationDictionary** out) {
+    if (!isFileAttachmentAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFileAttachmentAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSoundAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSoundAnnotationDictionary** out) {
+    if (!isSoundAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSoundAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMovieAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMovieAnnotationDictionary** out) {
+    if (!isMovieAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMovieAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWidgetAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWidgetAnnotationDictionary** out) {
+    if (!isWidgetAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWidgetAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfActionDictionary** out) {
+    if (!isActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAnnotationActionsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAnnotationActionsDictionary** out) {
+    if (!isAnnotationActionsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAnnotationActionsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPageObjectActionsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPageObjectActionsDictionary** out) {
+    if (!isPageObjectActionsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPageObjectActionsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFormFieldActionsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFormFieldActionsDictionary** out) {
+    if (!isFormFieldActionsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFormFieldActionsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfDocumentCatalogActionsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfDocumentCatalogActionsDictionary** out) {
+    if (!isDocumentCatalogActionsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfDocumentCatalogActionsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfGoToActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfGoToActionDictionary** out) {
+    if (!isGoToActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfGoToActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfRemoteGoToActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfRemoteGoToActionDictionary** out) {
+    if (!isRemoteGoToActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfRemoteGoToActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfLaunchActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfLaunchActionDictionary** out) {
+    if (!isLaunchActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfLaunchActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWindowsLaunchActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWindowsLaunchActionDictionary** out) {
+    if (!isWindowsLaunchActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWindowsLaunchActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfThreadActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfThreadActionDictionary** out) {
+    if (!isThreadActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfThreadActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfURIActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfURIActionDictionary** out) {
+    if (!isURIActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfURIActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfURIDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfURIDictionary** out) {
+    if (!isURIDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfURIDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSoundActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSoundActionDictionary** out) {
+    if (!isSoundActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSoundActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMovieActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMovieActionDictionary** out) {
+    if (!isMovieActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMovieActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfHideActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfHideActionDictionary** out) {
+    if (!isHideActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfHideActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfNamedActionsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfNamedActionsDictionary** out) {
+    if (!isNamedActionsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfNamedActionsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfInteractiveFormDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfInteractiveFormDictionary** out) {
+    if (!isInteractiveFormDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfInteractiveFormDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFieldDictionary** out) {
+    if (!isFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfVariableTextFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfVariableTextFieldDictionary** out) {
+    if (!isVariableTextFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfVariableTextFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAppearanceCharacteristicsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAppearanceCharacteristicsDictionary** out) {
+    if (!isAppearanceCharacteristicsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAppearanceCharacteristicsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfCheckboxFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfCheckboxFieldDictionary** out) {
+    if (!isCheckboxFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfCheckboxFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfRadioButtonFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfRadioButtonFieldDictionary** out) {
+    if (!isRadioButtonFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfRadioButtonFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTextFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTextFieldDictionary** out) {
+    if (!isTextFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTextFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfChoiceFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfChoiceFieldDictionary** out) {
+    if (!isChoiceFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfChoiceFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSignatureDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSignatureDictionary** out) {
+    if (!isSignatureDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSignatureDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSubmitFormActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSubmitFormActionDictionary** out) {
+    if (!isSubmitFormActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSubmitFormActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfResetFormActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfResetFormActionDictionary** out) {
+    if (!isResetFormActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfResetFormActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfImportDataActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfImportDataActionDictionary** out) {
+    if (!isImportDataActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfImportDataActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfJavascriptActionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfJavascriptActionDictionary** out) {
+    if (!isJavascriptActionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfJavascriptActionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFTrailerDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFTrailerDictionary** out) {
+    if (!isFDFTrailerDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFTrailerDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFCatalogDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFCatalogDictionary** out) {
+    if (!isFDFCatalogDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFCatalogDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFDictionary** out) {
+    if (!isFDFDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfEncryptedEmbeddedFileStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfEncryptedEmbeddedFileStreamDictionary** out) {
+    if (!isEncryptedEmbeddedFileStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfEncryptedEmbeddedFileStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfJavascriptDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfJavascriptDictionary** out) {
+    if (!isJavascriptDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfJavascriptDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFFieldDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFFieldDictionary** out) {
+    if (!isFDFFieldDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFFieldDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfIconFitDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfIconFitDictionary** out) {
+    if (!isIconFitDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfIconFitDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFPageDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFPageDictionary** out) {
+    if (!isFDFPageDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFPageDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFTemplateDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFTemplateDictionary** out) {
+    if (!isFDFTemplateDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFTemplateDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFNamedPageReferenceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFNamedPageReferenceDictionary** out) {
+    if (!isFDFNamedPageReferenceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFNamedPageReferenceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfFDFFileAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfFDFFileAnnotationDictionary** out) {
+    if (!isFDFFileAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfFDFFileAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSoundObjectDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSoundObjectDictionary** out) {
+    if (!isSoundObjectDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSoundObjectDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMovieDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMovieDictionary** out) {
+    if (!isMovieDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMovieDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMovieActivationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMovieActivationDictionary** out) {
+    if (!isMovieActivationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMovieActivationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfDocumentInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfDocumentInformationDictionary** out) {
+    if (!isDocumentInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfDocumentInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMetadataStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMetadataStreamDictionary** out) {
+    if (!isMetadataStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMetadataStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfComponentsWithMetadataDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfComponentsWithMetadataDictionary** out) {
+    if (!isComponentsWithMetadataDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfComponentsWithMetadataDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPagePieceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPagePieceDictionary** out) {
+    if (!isPagePieceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPagePieceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfApplicationDataDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfApplicationDataDictionary** out) {
+    if (!isApplicationDataDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfApplicationDataDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStructureTreeRootDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStructureTreeRootDictionary** out) {
+    if (!isStructureTreeRootDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStructureTreeRootDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStructureElementDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStructureElementDictionary** out) {
+    if (!isStructureElementDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStructureElementDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMarkedContentReferenceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMarkedContentReferenceDictionary** out) {
+    if (!isMarkedContentReferenceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMarkedContentReferenceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfObjectReferenceDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfObjectReferenceDictionary** out) {
+    if (!isObjectReferenceDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfObjectReferenceDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStructureElementAccessDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStructureElementAccessDictionary** out) {
+    if (!isStructureElementAccessDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStructureElementAccessDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfAttributeObjectDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfAttributeObjectDictionary** out) {
+    if (!isAttributeObjectDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfAttributeObjectDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMarkInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMarkInformationDictionary** out) {
+    if (!isMarkInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMarkInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfArtifactsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfArtifactsDictionary** out) {
+    if (!isArtifactsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfArtifactsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfStandardStructureDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfStandardStructureDictionary** out) {
+    if (!isStandardStructureDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfStandardStructureDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBlockLevelStructureElementsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBlockLevelStructureElementsDictionary** out) {
+    if (!isBlockLevelStructureElementsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBlockLevelStructureElementsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfInlineLevelStructureElementsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfInlineLevelStructureElementsDictionary** out) {
+    if (!isInlineLevelStructureElementsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfInlineLevelStructureElementsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfListAttributeDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfListAttributeDictionary** out) {
+    if (!isListAttributeDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfListAttributeDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTableAttributesDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTableAttributesDictionary** out) {
+    if (!isTableAttributesDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTableAttributesDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCaptureInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCaptureInformationDictionary** out) {
+    if (!isWebCaptureInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCaptureInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCaptureDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCaptureDictionary** out) {
+    if (!isWebCaptureDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCaptureDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCapturePageSetDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCapturePageSetDictionary** out) {
+    if (!isWebCapturePageSetDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCapturePageSetDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCaptureImageSetDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCaptureImageSetDictionary** out) {
+    if (!isWebCaptureImageSetDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCaptureImageSetDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSourceInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSourceInformationDictionary** out) {
+    if (!isSourceInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSourceInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfURLAliasDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfURLAliasDictionary** out) {
+    if (!isURLAliasDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfURLAliasDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCaptureCommandDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCaptureCommandDictionary** out) {
+    if (!isWebCaptureCommandDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCaptureCommandDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfWebCaptureCommandSettingsDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfWebCaptureCommandSettingsDictionary** out) {
+    if (!isWebCaptureCommandSettingsDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfWebCaptureCommandSettingsDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBoxColorInformationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBoxColorInformationDictionary** out) {
+    if (!isBoxColorInformationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBoxColorInformationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfBoxStyleDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfBoxStyleDictionary** out) {
+    if (!isBoxStyleDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfBoxStyleDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPrinterMarkAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPrinterMarkAnnotationDictionary** out) {
+    if (!isPrinterMarkAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPrinterMarkAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPrinterMarkFormDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPrinterMarkFormDictionary** out) {
+    if (!isPrinterMarkFormDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPrinterMarkFormDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfSeparationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfSeparationDictionary** out) {
+    if (!isSeparationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfSeparationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfPDF_XOutputIntentDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfPDF_XOutputIntentDictionary** out) {
+    if (!isPDF_XOutputIntentDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfPDF_XOutputIntentDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTrapNetworkAnnotationDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTrapNetworkAnnotationDictionary** out) {
+    if (!isTrapNetworkAnnotationDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTrapNetworkAnnotationDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfTrapNetworkAppearanceStreamDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfTrapNetworkAppearanceStreamDictionary** out) {
+    if (!isTrapNetworkAppearanceStreamDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfTrapNetworkAppearanceStreamDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfOpiVersionDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfOpiVersionDictionary** out) {
+    if (!isOpiVersionDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfOpiVersionDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool map(const SkPdfObject& in, SkPdfMultiMasterFontDictionary** out) {
+    return map(*in.doc(), *in.podofo(), out);
+  }
+
+  static bool map(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj, SkPdfMultiMasterFontDictionary** out) {
+    if (!isMultiMasterFontDictionary(podofoDoc, podofoObj)) return false;
+
+
+    *out = new SkPdfMultiMasterFontDictionary(&podofoDoc, &podofoObj);
+    return true;
+  }
+
+  static bool isObject(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isNull(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Null;
+  }
+
+  static bool isBoolean(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Bool;
+  }
+
+  static bool isInteger(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Number;
+  }
+
+  static bool isNumber(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Real;
+  }
+
+  static bool isName(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Name;
+  }
+
+  static bool isReference(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Reference;
+  }
+
+  static bool isArray(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Array;
+  }
+
+  static bool isString(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_String;
+  }
+
+  static bool isHexString(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_HexString;
+  }
+
+  static bool isDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return podofoObj.GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  static bool isXObjectDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTrueTypeFontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStreamCommonDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isLzwdecodeAndFlatedecodeFiltersDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCcittfaxdecodeFilterDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isJbig2DecodeFilterDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isDctdecodeFilterDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFileTrailerDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEncryptionCommonDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStandardSecurityHandlerDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCatalogDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPageTreeNodeDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPageObjectDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isNameDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isResourceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isNameTreeNodeDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isNumberTreeNodeDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFunctionCommonDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType0FunctionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType2FunctionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType3FunctionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFileSpecificationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEmbeddedFileStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEmbeddedFileParameterDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMacOsFileInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isGraphicsStateDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCalgrayColorSpaceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCalrgbColorSpaceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isLabColorSpaceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isIccProfileStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isDeviceNColorSpaceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType1PatternDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType2PatternDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType1ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType2ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType3ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType4ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType5ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType6ShadingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isImageDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    std::string Subtype;
+    if (!NameFromDictionary(&podofoDoc, podofoObj.GetDictionary(), "Subtype", "", &Subtype)) return false;
+    if (Subtype != "Image") return false;
+
+    return true;
+  }
+
+  static bool isAlternateImageDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType1FormDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    std::string Subtype;
+    if (!NameFromDictionary(&podofoDoc, podofoObj.GetDictionary(), "Subtype", "", &Subtype)) return false;
+    if (Subtype != "Form") return false;
+
+    return true;
+  }
+
+  static bool isGroupAttributesDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isReferenceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPSXobjectDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType1FontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType3FontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEncodingDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCIDSystemInfoDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCIDFontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCMapDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType0FontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFontDescriptorDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCIDFontDescriptorDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEmbeddedFontStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType1HalftoneDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType6HalftoneDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType10HalftoneDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType16HalftoneDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isType5HalftoneDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSoftMaskDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSoftMaskImageDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTransparencyGroupDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isViewerPreferencesDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isOutlineDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isOutlineItemDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPageLabelDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isThreadDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isBeadDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTransitionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isBorderStyleDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isAppearanceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTextAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isALinkAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFreeTextAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isLineAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSquareOrCircleAnnotation(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMarkupAnnotationsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isRubberStampAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isInkAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPopUpAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFileAttachmentAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSoundAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMovieAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWidgetAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isAnnotationActionsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPageObjectActionsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFormFieldActionsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isDocumentCatalogActionsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isGoToActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isRemoteGoToActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isLaunchActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWindowsLaunchActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isThreadActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isURIActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isURIDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSoundActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMovieActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isHideActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isNamedActionsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isInteractiveFormDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isVariableTextFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isAppearanceCharacteristicsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isCheckboxFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isRadioButtonFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTextFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isChoiceFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSignatureDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSubmitFormActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isResetFormActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isImportDataActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isJavascriptActionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFTrailerDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFCatalogDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isEncryptedEmbeddedFileStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isJavascriptDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFFieldDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isIconFitDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFPageDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFTemplateDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFNamedPageReferenceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isFDFFileAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSoundObjectDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMovieDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMovieActivationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isDocumentInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMetadataStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isComponentsWithMetadataDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPagePieceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isApplicationDataDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStructureTreeRootDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStructureElementDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMarkedContentReferenceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isObjectReferenceDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStructureElementAccessDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isAttributeObjectDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMarkInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isArtifactsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isStandardStructureDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isBlockLevelStructureElementsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isInlineLevelStructureElementsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isListAttributeDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTableAttributesDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCaptureInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCaptureDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCapturePageSetDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCaptureImageSetDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSourceInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isURLAliasDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCaptureCommandDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isWebCaptureCommandSettingsDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isBoxColorInformationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isBoxStyleDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPrinterMarkAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPrinterMarkFormDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isSeparationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isPDF_XOutputIntentDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTrapNetworkAnnotationDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isTrapNetworkAppearanceStreamDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isOpiVersionDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    return true;
+  }
+
+  static bool isMultiMasterFontDictionary(const PdfMemDocument& podofoDoc, const PdfObject& podofoObj) {
+    std::string Subtype;
+    if (!NameFromDictionary(&podofoDoc, podofoObj.GetDictionary(), "Subtype", "", &Subtype)) return false;
+    if (Subtype != "MMType1") return false;
+
+    return true;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPodofoMapper
diff --git a/experimental/PdfViewer/SkPdfPopUpAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfPopUpAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..58a230e
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfPopUpAnnotationDictionary
+#define __DEFINED__SkPdfPopUpAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPopUpAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPopUpAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPopUpAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return this;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPopUpAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPopUpAnnotationDictionary& operator=(const SkPdfPopUpAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Parent() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool Open() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Open", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPopUpAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfPrinterMarkAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfPrinterMarkAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5b299cc
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfPrinterMarkAnnotationDictionary
+#define __DEFINED__SkPdfPrinterMarkAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPrinterMarkAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPrinterMarkAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPrinterMarkAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return this;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPrinterMarkAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPrinterMarkAnnotationDictionary& operator=(const SkPdfPrinterMarkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string MN() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MN", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPrinterMarkAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfPrinterMarkFormDictionary_autogen.h b/experimental/PdfViewer/SkPdfPrinterMarkFormDictionary_autogen.h
new file mode 100644 (file)
index 0000000..2625a55
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfPrinterMarkFormDictionary
+#define __DEFINED__SkPdfPrinterMarkFormDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfPrinterMarkFormDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryPrinterMarkFormDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryPrinterMarkFormDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return this;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfPrinterMarkFormDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfPrinterMarkFormDictionary& operator=(const SkPdfPrinterMarkFormDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string MarkStyle() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkStyle", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Colorants() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfPrinterMarkFormDictionary
diff --git a/experimental/PdfViewer/SkPdfRadioButtonFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfRadioButtonFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6e4ffbd
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfRadioButtonFieldDictionary
+#define __DEFINED__SkPdfRadioButtonFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfRadioButtonFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryRadioButtonFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryRadioButtonFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return this;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfRadioButtonFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfRadioButtonFieldDictionary& operator=(const SkPdfRadioButtonFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Opt() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfRadioButtonFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfReferenceDictionary_autogen.h b/experimental/PdfViewer/SkPdfReferenceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..85241fa
--- /dev/null
@@ -0,0 +1,566 @@
+#ifndef __DEFINED__SkPdfReferenceDictionary
+#define __DEFINED__SkPdfReferenceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfReferenceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryReferenceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryReferenceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return this;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfReferenceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfReferenceDictionary& operator=(const SkPdfReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  bool isPageAInteger() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Number;
+  }
+
+  long getPageAsInteger() const {
+    long ret = 0;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isPageAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getPageAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray ID() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfReferenceDictionary
diff --git a/experimental/PdfViewer/SkPdfReference_autogen.h b/experimental/PdfViewer/SkPdfReference_autogen.h
new file mode 100644 (file)
index 0000000..f47891b
--- /dev/null
@@ -0,0 +1,556 @@
+#ifndef __DEFINED__SkPdfReference
+#define __DEFINED__SkPdfReference
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfReference : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectReference_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectReference_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfReference* asReference() {return this;}
+  virtual const SkPdfReference* asReference() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfString* asString() {return NULL;}
+  virtual const SkPdfString* asString() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfReference(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfReference& operator=(const SkPdfReference& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfReference
diff --git a/experimental/PdfViewer/SkPdfRemoteGoToActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfRemoteGoToActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..2a917e9
--- /dev/null
@@ -0,0 +1,586 @@
+#ifndef __DEFINED__SkPdfRemoteGoToActionDictionary
+#define __DEFINED__SkPdfRemoteGoToActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfRemoteGoToActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryRemoteGoToActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryRemoteGoToActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return this;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfRemoteGoToActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfRemoteGoToActionDictionary& operator=(const SkPdfRemoteGoToActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  bool isDAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getDAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool NewWindow() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NewWindow", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfRemoteGoToActionDictionary
diff --git a/experimental/PdfViewer/SkPdfResetFormActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfResetFormActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d5a3834
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfResetFormActionDictionary
+#define __DEFINED__SkPdfResetFormActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfResetFormActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryResetFormActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryResetFormActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return this;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfResetFormActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfResetFormActionDictionary& operator=(const SkPdfResetFormActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray Fields() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long Flags() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfResetFormActionDictionary
diff --git a/experimental/PdfViewer/SkPdfResourceDictionary_autogen.h b/experimental/PdfViewer/SkPdfResourceDictionary_autogen.h
new file mode 100644 (file)
index 0000000..f3009c9
--- /dev/null
@@ -0,0 +1,582 @@
+#ifndef __DEFINED__SkPdfResourceDictionary
+#define __DEFINED__SkPdfResourceDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfResourceDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryResourceDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryResourceDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return this;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfResourceDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfResourceDictionary& operator=(const SkPdfResourceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* ExtGState() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ExtGState", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* ColorSpace() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Pattern() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pattern", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Shading() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Shading", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream XObject() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XObject", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfDictionary* Font() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Font", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray ProcSet() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ProcSet", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* Properties() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Properties", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfResourceDictionary
diff --git a/experimental/PdfViewer/SkPdfRubberStampAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfRubberStampAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..ec0cdf1
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfRubberStampAnnotationDictionary
+#define __DEFINED__SkPdfRubberStampAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfRubberStampAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryRubberStampAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryRubberStampAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return this;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfRubberStampAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfRubberStampAnnotationDictionary& operator=(const SkPdfRubberStampAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfRubberStampAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfSeparationDictionary_autogen.h b/experimental/PdfViewer/SkPdfSeparationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d2ec1b9
--- /dev/null
@@ -0,0 +1,566 @@
+#ifndef __DEFINED__SkPdfSeparationDictionary
+#define __DEFINED__SkPdfSeparationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSeparationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySeparationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySeparationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return this;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSeparationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSeparationDictionary& operator=(const SkPdfSeparationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Pages() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isDeviceColorantAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DeviceColorant", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getDeviceColorantAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DeviceColorant", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isDeviceColorantAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DeviceColorant", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDeviceColorantAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DeviceColorant", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray ColorSpace() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSeparationDictionary
diff --git a/experimental/PdfViewer/SkPdfShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a741ae5
--- /dev/null
@@ -0,0 +1,562 @@
+#ifndef __DEFINED__SkPdfShadingDictionary
+#define __DEFINED__SkPdfShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfShadingDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObjectDictionaryShadingDictionary__End_SkPdfObjectType;}
+public:
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return this;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfShadingDictionary& operator=(const SkPdfShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long ShadingType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ShadingType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isColorSpaceAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getColorSpaceAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isColorSpaceAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getColorSpaceAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Background() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Background", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkRect BBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  bool AntiAlias() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AntiAlias", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfSignatureDictionary_autogen.h b/experimental/PdfViewer/SkPdfSignatureDictionary_autogen.h
new file mode 100644 (file)
index 0000000..0379417
--- /dev/null
@@ -0,0 +1,589 @@
+#ifndef __DEFINED__SkPdfSignatureDictionary
+#define __DEFINED__SkPdfSignatureDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSignatureDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySignatureDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySignatureDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return this;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSignatureDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSignatureDictionary& operator=(const SkPdfSignatureDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Filter() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string SubFilter() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SubFilter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray ByteRange() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ByteRange", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDate M() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  std::string Location() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Location", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Reason() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Reason", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSignatureDictionary
diff --git a/experimental/PdfViewer/SkPdfSoftMaskDictionary_autogen.h b/experimental/PdfViewer/SkPdfSoftMaskDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5704af0
--- /dev/null
@@ -0,0 +1,580 @@
+#ifndef __DEFINED__SkPdfSoftMaskDictionary
+#define __DEFINED__SkPdfSoftMaskDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSoftMaskDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySoftMaskDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySoftMaskDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return this;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSoftMaskDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSoftMaskDictionary& operator=(const SkPdfSoftMaskDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream G() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "G", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray BC() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isTRAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTRAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTRAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTRAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSoftMaskDictionary
diff --git a/experimental/PdfViewer/SkPdfSoftMaskImageDictionary_autogen.h b/experimental/PdfViewer/SkPdfSoftMaskImageDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8d009a5
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfSoftMaskImageDictionary
+#define __DEFINED__SkPdfSoftMaskImageDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSoftMaskImageDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySoftMaskImageDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySoftMaskImageDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return this;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSoftMaskImageDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSoftMaskImageDictionary& operator=(const SkPdfSoftMaskImageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Matte() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matte", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSoftMaskImageDictionary
diff --git a/experimental/PdfViewer/SkPdfSoundActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfSoundActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a06f0ae
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfSoundActionDictionary
+#define __DEFINED__SkPdfSoundActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSoundActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySoundActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySoundActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return this;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSoundActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSoundActionDictionary& operator=(const SkPdfSoundActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream Sound() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Sound", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  double Volume() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Volume", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool Synchronous() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Synchronous", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool Repeat() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Repeat", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool Mix() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSoundActionDictionary
diff --git a/experimental/PdfViewer/SkPdfSoundAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfSoundAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..f990962
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfSoundAnnotationDictionary
+#define __DEFINED__SkPdfSoundAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSoundAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySoundAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySoundAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return this;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSoundAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSoundAnnotationDictionary& operator=(const SkPdfSoundAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfStream Sound() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Sound", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSoundAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfSoundObjectDictionary_autogen.h b/experimental/PdfViewer/SkPdfSoundObjectDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d910c5a
--- /dev/null
@@ -0,0 +1,575 @@
+#ifndef __DEFINED__SkPdfSoundObjectDictionary
+#define __DEFINED__SkPdfSoundObjectDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSoundObjectDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySoundObjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySoundObjectDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return this;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSoundObjectDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSoundObjectDictionary& operator=(const SkPdfSoundObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double R() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long C() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long B() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string E() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "E", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string CO() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CO", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfObject* CP() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CP", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSoundObjectDictionary
diff --git a/experimental/PdfViewer/SkPdfSourceInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfSourceInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a666080
--- /dev/null
@@ -0,0 +1,580 @@
+#ifndef __DEFINED__SkPdfSourceInformationDictionary
+#define __DEFINED__SkPdfSourceInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSourceInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySourceInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySourceInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return this;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSourceInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSourceInformationDictionary& operator=(const SkPdfSourceInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool isAUAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AU", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getAUAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AU", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isAUADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AU", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getAUAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AU", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDate TS() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfDate E() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "E", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  long S() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* C() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSourceInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfSquareOrCircleAnnotation_autogen.h b/experimental/PdfViewer/SkPdfSquareOrCircleAnnotation_autogen.h
new file mode 100644 (file)
index 0000000..c7af9dd
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfSquareOrCircleAnnotation
+#define __DEFINED__SkPdfSquareOrCircleAnnotation
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSquareOrCircleAnnotation : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySquareOrCircleAnnotation_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySquareOrCircleAnnotation_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return this;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSquareOrCircleAnnotation(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSquareOrCircleAnnotation& operator=(const SkPdfSquareOrCircleAnnotation& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* BS() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfArray IC() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IC", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSquareOrCircleAnnotation
diff --git a/experimental/PdfViewer/SkPdfStandardSecurityHandlerDictionary_autogen.h b/experimental/PdfViewer/SkPdfStandardSecurityHandlerDictionary_autogen.h
new file mode 100644 (file)
index 0000000..bdcbcea
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfStandardSecurityHandlerDictionary
+#define __DEFINED__SkPdfStandardSecurityHandlerDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStandardSecurityHandlerDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStandardSecurityHandlerDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStandardSecurityHandlerDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return this;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStandardSecurityHandlerDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStandardSecurityHandlerDictionary& operator=(const SkPdfStandardSecurityHandlerDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  double R() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string O() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string U() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long P() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStandardSecurityHandlerDictionary
diff --git a/experimental/PdfViewer/SkPdfStandardStructureDictionary_autogen.h b/experimental/PdfViewer/SkPdfStandardStructureDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b087a11
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfStandardStructureDictionary
+#define __DEFINED__SkPdfStandardStructureDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStandardStructureDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStandardStructureDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStandardStructureDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return this;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStandardStructureDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStandardStructureDictionary& operator=(const SkPdfStandardStructureDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Placement() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Placement", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string WritingMode() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WritingMode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStandardStructureDictionary
diff --git a/experimental/PdfViewer/SkPdfStreamCommonDictionary_autogen.h b/experimental/PdfViewer/SkPdfStreamCommonDictionary_autogen.h
new file mode 100644 (file)
index 0000000..7a0e869
--- /dev/null
@@ -0,0 +1,644 @@
+#ifndef __DEFINED__SkPdfStreamCommonDictionary
+#define __DEFINED__SkPdfStreamCommonDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStreamCommonDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStreamCommonDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStreamCommonDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return this;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStreamCommonDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStreamCommonDictionary& operator=(const SkPdfStreamCommonDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Length() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isFilterAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getFilterAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isFilterAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getFilterAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isDecodeParmsADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodeParms", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getDecodeParmsAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodeParms", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isDecodeParmsAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodeParms", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getDecodeParmsAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DecodeParms", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  bool isFFilterAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getFFilterAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isFFilterAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getFFilterAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FFilter", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isFDecodeParmsADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeParms", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getFDecodeParmsAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeParms", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isFDecodeParmsAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeParms", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getFDecodeParmsAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDecodeParms", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStreamCommonDictionary
diff --git a/experimental/PdfViewer/SkPdfString_autogen.h b/experimental/PdfViewer/SkPdfString_autogen.h
new file mode 100644 (file)
index 0000000..c3314d5
--- /dev/null
@@ -0,0 +1,557 @@
+#ifndef __DEFINED__SkPdfString
+#define __DEFINED__SkPdfString
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfObject_autogen.h"
+
+class SkPdfString : public SkPdfObject {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectString_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectString_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfString* asString() {return this;}
+  virtual const SkPdfString* asString() const {return this;}
+
+private:
+  virtual SkPdfArray* asArray() {return NULL;}
+  virtual const SkPdfArray* asArray() const {return NULL;}
+
+  virtual SkPdfBoolean* asBoolean() {return NULL;}
+  virtual const SkPdfBoolean* asBoolean() const {return NULL;}
+
+  virtual SkPdfDictionary* asDictionary() {return NULL;}
+  virtual const SkPdfDictionary* asDictionary() const {return NULL;}
+
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+  virtual SkPdfHexString* asHexString() {return NULL;}
+  virtual const SkPdfHexString* asHexString() const {return NULL;}
+
+  virtual SkPdfInteger* asInteger() {return NULL;}
+  virtual const SkPdfInteger* asInteger() const {return NULL;}
+
+  virtual SkPdfName* asName() {return NULL;}
+  virtual const SkPdfName* asName() const {return NULL;}
+
+  virtual SkPdfNull* asNull() {return NULL;}
+  virtual const SkPdfNull* asNull() const {return NULL;}
+
+  virtual SkPdfNumber* asNumber() {return NULL;}
+  virtual const SkPdfNumber* asNumber() const {return NULL;}
+
+  virtual SkPdfReference* asReference() {return NULL;}
+  virtual const SkPdfReference* asReference() const {return NULL;}
+
+public:
+  const std::string& value() const {return fPodofoObj->GetString().GetStringUtf8();}
+private:
+public:
+  SkPdfString(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfObject(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfString& operator=(const SkPdfString& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfString
diff --git a/experimental/PdfViewer/SkPdfStructureElementAccessDictionary_autogen.h b/experimental/PdfViewer/SkPdfStructureElementAccessDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b9b67bf
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfStructureElementAccessDictionary
+#define __DEFINED__SkPdfStructureElementAccessDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStructureElementAccessDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStructureElementAccessDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStructureElementAccessDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return this;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStructureElementAccessDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStructureElementAccessDictionary& operator=(const SkPdfStructureElementAccessDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long StructParent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long StructParents() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStructureElementAccessDictionary
diff --git a/experimental/PdfViewer/SkPdfStructureElementDictionary_autogen.h b/experimental/PdfViewer/SkPdfStructureElementDictionary_autogen.h
new file mode 100644 (file)
index 0000000..793924d
--- /dev/null
@@ -0,0 +1,636 @@
+#ifndef __DEFINED__SkPdfStructureElementDictionary
+#define __DEFINED__SkPdfStructureElementDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStructureElementDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStructureElementDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStructureElementDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return this;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStructureElementDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStructureElementDictionary& operator=(const SkPdfStructureElementDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* P() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string ID() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* Pg() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* K() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfObject* A() const {
+    SkPdfObject* ret;
+    if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isCAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getCAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isCAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getCAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long R() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Lang() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Alt() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alt", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string ActualText() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ActualText", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStructureElementDictionary
diff --git a/experimental/PdfViewer/SkPdfStructureTreeRootDictionary_autogen.h b/experimental/PdfViewer/SkPdfStructureTreeRootDictionary_autogen.h
new file mode 100644 (file)
index 0000000..692e4a1
--- /dev/null
@@ -0,0 +1,632 @@
+#ifndef __DEFINED__SkPdfStructureTreeRootDictionary
+#define __DEFINED__SkPdfStructureTreeRootDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfStructureTreeRootDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryStructureTreeRootDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryStructureTreeRootDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return this;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfStructureTreeRootDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfStructureTreeRootDictionary& operator=(const SkPdfStructureTreeRootDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isKADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getKAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isKAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getKAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isIDTreeAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDTree", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getIDTreeAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDTree", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isIDTreeATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDTree", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getIDTreeAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDTree", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isParentTreeANumber() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ParentTree", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Real;
+  }
+
+  double getParentTreeAsNumber() const {
+    double ret = 0;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ParentTree", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isParentTreeATree() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ParentTree", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfTree* getParentTreeAsTree() const {
+    SkPdfTree* ret = NULL;
+    if (TreeFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ParentTree", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long ParentTreeNextKey() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ParentTreeNextKey", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* RoleMap() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RoleMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* ClassMap() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClassMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfStructureTreeRootDictionary
diff --git a/experimental/PdfViewer/SkPdfSubmitFormActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfSubmitFormActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..e72acca
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfSubmitFormActionDictionary
+#define __DEFINED__SkPdfSubmitFormActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfSubmitFormActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionarySubmitFormActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionarySubmitFormActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return this;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfSubmitFormActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfSubmitFormActionDictionary& operator=(const SkPdfSubmitFormActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  SkPdfArray Fields() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long Flags() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfSubmitFormActionDictionary
diff --git a/experimental/PdfViewer/SkPdfTableAttributesDictionary_autogen.h b/experimental/PdfViewer/SkPdfTableAttributesDictionary_autogen.h
new file mode 100644 (file)
index 0000000..057b7d7
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfTableAttributesDictionary
+#define __DEFINED__SkPdfTableAttributesDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTableAttributesDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTableAttributesDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTableAttributesDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return this;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTableAttributesDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTableAttributesDictionary& operator=(const SkPdfTableAttributesDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long RowSpan() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RowSpan", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long ColSpan() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColSpan", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTableAttributesDictionary
diff --git a/experimental/PdfViewer/SkPdfTextAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfTextAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a7dab2c
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfTextAnnotationDictionary
+#define __DEFINED__SkPdfTextAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTextAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTextAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTextAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return this;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTextAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTextAnnotationDictionary& operator=(const SkPdfTextAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool Open() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Open", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTextAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfTextFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfTextFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..05d4cc7
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfTextFieldDictionary
+#define __DEFINED__SkPdfTextFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTextFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTextFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTextFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return this;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTextFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTextFieldDictionary& operator=(const SkPdfTextFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long MaxLen() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxLen", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTextFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfThreadActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfThreadActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..87ff0ae
--- /dev/null
@@ -0,0 +1,605 @@
+#ifndef __DEFINED__SkPdfThreadActionDictionary
+#define __DEFINED__SkPdfThreadActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfThreadActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryThreadActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryThreadActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return this;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfThreadActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfThreadActionDictionary& operator=(const SkPdfThreadActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfFileSpec F() const {
+    SkPdfFileSpec ret;
+    if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFileSpec();
+  }
+
+  bool isDADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getDAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isDAInteger() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Number;
+  }
+
+  long getDAsInteger() const {
+    long ret = 0;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isDAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getDAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isBADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getBAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isBAInteger() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Number;
+  }
+
+  long getBAsInteger() const {
+    long ret = 0;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfThreadActionDictionary
diff --git a/experimental/PdfViewer/SkPdfThreadDictionary_autogen.h b/experimental/PdfViewer/SkPdfThreadDictionary_autogen.h
new file mode 100644 (file)
index 0000000..7353218
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfThreadDictionary
+#define __DEFINED__SkPdfThreadDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfThreadDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryThreadDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryThreadDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return this;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfThreadDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfThreadDictionary& operator=(const SkPdfThreadDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* F() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* I() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfThreadDictionary
diff --git a/experimental/PdfViewer/SkPdfTransitionDictionary_autogen.h b/experimental/PdfViewer/SkPdfTransitionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c29b6c0
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfTransitionDictionary
+#define __DEFINED__SkPdfTransitionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTransitionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTransitionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTransitionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return this;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTransitionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTransitionDictionary& operator=(const SkPdfTransitionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double D() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Dm() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dm", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string M() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double Di() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Di", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTransitionDictionary
diff --git a/experimental/PdfViewer/SkPdfTransparencyGroupDictionary_autogen.h b/experimental/PdfViewer/SkPdfTransparencyGroupDictionary_autogen.h
new file mode 100644 (file)
index 0000000..087f560
--- /dev/null
@@ -0,0 +1,559 @@
+#ifndef __DEFINED__SkPdfTransparencyGroupDictionary
+#define __DEFINED__SkPdfTransparencyGroupDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTransparencyGroupDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTransparencyGroupDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTransparencyGroupDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return this;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTransparencyGroupDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTransparencyGroupDictionary& operator=(const SkPdfTransparencyGroupDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isCSAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getCSAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isCSAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CS", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getCSAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTransparencyGroupDictionary
diff --git a/experimental/PdfViewer/SkPdfTrapNetworkAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfTrapNetworkAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5649d3f
--- /dev/null
@@ -0,0 +1,568 @@
+#ifndef __DEFINED__SkPdfTrapNetworkAnnotationDictionary
+#define __DEFINED__SkPdfTrapNetworkAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTrapNetworkAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTrapNetworkAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTrapNetworkAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return this;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTrapNetworkAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTrapNetworkAnnotationDictionary& operator=(const SkPdfTrapNetworkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDate LastModified() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkPdfArray Version() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray AnnotStates() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AnnotStates", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray FontFauxing() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFauxing", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTrapNetworkAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfTrapNetworkAppearanceStreamDictionary_autogen.h b/experimental/PdfViewer/SkPdfTrapNetworkAppearanceStreamDictionary_autogen.h
new file mode 100644 (file)
index 0000000..73e88ff
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfTrapNetworkAppearanceStreamDictionary
+#define __DEFINED__SkPdfTrapNetworkAppearanceStreamDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfTrapNetworkAppearanceStreamDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryTrapNetworkAppearanceStreamDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryTrapNetworkAppearanceStreamDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return this;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTrapNetworkAppearanceStreamDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTrapNetworkAppearanceStreamDictionary& operator=(const SkPdfTrapNetworkAppearanceStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string PCM() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PCM", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray SeparationColorNames() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SeparationColorNames", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray TrapRegions() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrapRegions", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string TrapStyles() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrapStyles", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfTrapNetworkAppearanceStreamDictionary
diff --git a/experimental/PdfViewer/SkPdfTrueTypeFontDictionary_autogen.h b/experimental/PdfViewer/SkPdfTrueTypeFontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..3a1ed1f
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef __DEFINED__SkPdfTrueTypeFontDictionary
+#define __DEFINED__SkPdfTrueTypeFontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+
+class SkPdfTrueTypeFontDictionary : public SkPdfFontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryTrueTypeFontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDictionaryTrueTypeFontDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return this;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return this;}
+
+private:
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfTrueTypeFontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfFontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfTrueTypeFontDictionary& operator=(const SkPdfTrueTypeFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfTrueTypeFontDictionary
diff --git a/experimental/PdfViewer/SkPdfType0FontDictionary_autogen.h b/experimental/PdfViewer/SkPdfType0FontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..514e8d9
--- /dev/null
@@ -0,0 +1,104 @@
+#ifndef __DEFINED__SkPdfType0FontDictionary
+#define __DEFINED__SkPdfType0FontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+
+class SkPdfType0FontDictionary : public SkPdfFontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryType0FontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDictionaryType0FontDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return this;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return this;}
+
+private:
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType0FontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfFontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType0FontDictionary& operator=(const SkPdfType0FontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string BaseFont() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isEncodingAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getEncodingAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isEncodingAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getEncodingAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray DescendantFonts() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DescendantFonts", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfStream ToUnicode() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUnicode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType0FontDictionary
diff --git a/experimental/PdfViewer/SkPdfType0FunctionDictionary_autogen.h b/experimental/PdfViewer/SkPdfType0FunctionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5d758d4
--- /dev/null
@@ -0,0 +1,561 @@
+#ifndef __DEFINED__SkPdfType0FunctionDictionary
+#define __DEFINED__SkPdfType0FunctionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType0FunctionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType0FunctionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType0FunctionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return this;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType0FunctionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType0FunctionDictionary& operator=(const SkPdfType0FunctionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Size() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  long BitsPerSample() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerSample", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Order() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Order", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Encode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Decode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType0FunctionDictionary
diff --git a/experimental/PdfViewer/SkPdfType10HalftoneDictionary_autogen.h b/experimental/PdfViewer/SkPdfType10HalftoneDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d4ee308
--- /dev/null
@@ -0,0 +1,587 @@
+#ifndef __DEFINED__SkPdfType10HalftoneDictionary
+#define __DEFINED__SkPdfType10HalftoneDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType10HalftoneDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType10HalftoneDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType10HalftoneDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return this;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType10HalftoneDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType10HalftoneDictionary& operator=(const SkPdfType10HalftoneDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long HalftoneType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string HalftoneName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Xsquare() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Xsquare", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Ysquare() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ysquare", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isTransferFunctionAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTransferFunctionAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTransferFunctionAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTransferFunctionAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType10HalftoneDictionary
diff --git a/experimental/PdfViewer/SkPdfType16HalftoneDictionary_autogen.h b/experimental/PdfViewer/SkPdfType16HalftoneDictionary_autogen.h
new file mode 100644 (file)
index 0000000..9d6c77d
--- /dev/null
@@ -0,0 +1,601 @@
+#ifndef __DEFINED__SkPdfType16HalftoneDictionary
+#define __DEFINED__SkPdfType16HalftoneDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType16HalftoneDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType16HalftoneDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType16HalftoneDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return this;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType16HalftoneDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType16HalftoneDictionary& operator=(const SkPdfType16HalftoneDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long HalftoneType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string HalftoneName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Width() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Height() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Width2() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Height2() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height2", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isTransferFunctionAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTransferFunctionAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTransferFunctionAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTransferFunctionAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType16HalftoneDictionary
diff --git a/experimental/PdfViewer/SkPdfType1FontDictionary_autogen.h b/experimental/PdfViewer/SkPdfType1FontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..07d1196
--- /dev/null
@@ -0,0 +1,129 @@
+#ifndef __DEFINED__SkPdfType1FontDictionary
+#define __DEFINED__SkPdfType1FontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+
+class SkPdfType1FontDictionary : public SkPdfFontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryType1FontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObjectDictionaryFontDictionaryType1FontDictionary__End_SkPdfObjectType;}
+public:
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return this;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return this;}
+
+private:
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType1FontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfFontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType1FontDictionary& operator=(const SkPdfType1FontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string BaseFont() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long FirstChar() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FirstChar", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long LastChar() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastChar", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Widths() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Widths", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* FontDescriptor() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontDescriptor", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isEncodingAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getEncodingAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isEncodingADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getEncodingAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream ToUnicode() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUnicode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType1FontDictionary
diff --git a/experimental/PdfViewer/SkPdfType1FormDictionary_autogen.h b/experimental/PdfViewer/SkPdfType1FormDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d910e8e
--- /dev/null
@@ -0,0 +1,136 @@
+#ifndef __DEFINED__SkPdfType1FormDictionary
+#define __DEFINED__SkPdfType1FormDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfXObjectDictionary_autogen.h"
+
+class SkPdfType1FormDictionary : public SkPdfXObjectDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryXObjectDictionaryType1FormDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryXObjectDictionaryType1FormDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return this;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return this;}
+
+private:
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType1FormDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfXObjectDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType1FormDictionary& operator=(const SkPdfType1FormDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long FormType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FormType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDate LastModified() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+  SkRect BBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkPdfArray Matrix() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* Resources() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resources", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Group() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* Ref() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ref", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfStream Metadata() const {
+    SkPdfStream ret;
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfDictionary* PieceInfo() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PieceInfo", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  long StructParent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long StructParents() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfDictionary* OPI() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType1FormDictionary
diff --git a/experimental/PdfViewer/SkPdfType1HalftoneDictionary_autogen.h b/experimental/PdfViewer/SkPdfType1HalftoneDictionary_autogen.h
new file mode 100644 (file)
index 0000000..438f8b3
--- /dev/null
@@ -0,0 +1,620 @@
+#ifndef __DEFINED__SkPdfType1HalftoneDictionary
+#define __DEFINED__SkPdfType1HalftoneDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType1HalftoneDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType1HalftoneDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType1HalftoneDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return this;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType1HalftoneDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType1HalftoneDictionary& operator=(const SkPdfType1HalftoneDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long HalftoneType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string HalftoneName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double Frequency() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Frequency", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  double Angle() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Angle", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isSpotFunctionAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpotFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getSpotFunctionAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpotFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isSpotFunctionAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpotFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getSpotFunctionAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpotFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool AccurateScreens() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AccurateScreens", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool isTransferFunctionAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTransferFunctionAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTransferFunctionAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTransferFunctionAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType1HalftoneDictionary
diff --git a/experimental/PdfViewer/SkPdfType1PatternDictionary_autogen.h b/experimental/PdfViewer/SkPdfType1PatternDictionary_autogen.h
new file mode 100644 (file)
index 0000000..6cd8a75
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfType1PatternDictionary
+#define __DEFINED__SkPdfType1PatternDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType1PatternDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType1PatternDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType1PatternDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return this;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType1PatternDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType1PatternDictionary& operator=(const SkPdfType1PatternDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long PatternType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PatternType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long PaintType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PaintType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType1PatternDictionary
diff --git a/experimental/PdfViewer/SkPdfType1ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType1ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..f6e7abc
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef __DEFINED__SkPdfType1ShadingDictionary
+#define __DEFINED__SkPdfType1ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType1ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType1ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType1ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return this;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType1ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType1ShadingDictionary& operator=(const SkPdfType1ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Domain() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Matrix() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType1ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfType2FunctionDictionary_autogen.h b/experimental/PdfViewer/SkPdfType2FunctionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..5466e52
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfType2FunctionDictionary
+#define __DEFINED__SkPdfType2FunctionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType2FunctionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType2FunctionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType2FunctionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return this;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType2FunctionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType2FunctionDictionary& operator=(const SkPdfType2FunctionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray C0() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C0", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray C1() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C1", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  double N() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType2FunctionDictionary
diff --git a/experimental/PdfViewer/SkPdfType2PatternDictionary_autogen.h b/experimental/PdfViewer/SkPdfType2PatternDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8699b2d
--- /dev/null
@@ -0,0 +1,580 @@
+#ifndef __DEFINED__SkPdfType2PatternDictionary
+#define __DEFINED__SkPdfType2PatternDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType2PatternDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType2PatternDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType2PatternDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return this;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType2PatternDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType2PatternDictionary& operator=(const SkPdfType2PatternDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long Type() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long PatternType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PatternType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isShadingADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Shading", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getShadingAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Shading", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isShadingAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Shading", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getShadingAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Shading", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  SkPdfArray Matrix() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfDictionary* ExtGState() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ExtGState", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType2PatternDictionary
diff --git a/experimental/PdfViewer/SkPdfType2ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType2ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a2d8929
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef __DEFINED__SkPdfType2ShadingDictionary
+#define __DEFINED__SkPdfType2ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType2ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType2ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType2ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return this;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType2ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType2ShadingDictionary& operator=(const SkPdfType2ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Coords() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Coords", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Domain() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  SkPdfArray Extend() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Extend", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType2ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfType3FontDictionary_autogen.h b/experimental/PdfViewer/SkPdfType3FontDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4673c0e
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef __DEFINED__SkPdfType3FontDictionary
+#define __DEFINED__SkPdfType3FontDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfFontDictionary_autogen.h"
+
+class SkPdfType3FontDictionary : public SkPdfFontDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryFontDictionaryType3FontDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryFontDictionaryType3FontDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return this;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return this;}
+
+private:
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType3FontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfFontDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType3FontDictionary& operator=(const SkPdfType3FontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Name() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkRect FontBBox() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontBBox", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkPdfArray FontMatrix() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontMatrix", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType3FontDictionary
diff --git a/experimental/PdfViewer/SkPdfType3FunctionDictionary_autogen.h b/experimental/PdfViewer/SkPdfType3FunctionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4d59f23
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfType3FunctionDictionary
+#define __DEFINED__SkPdfType3FunctionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType3FunctionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType3FunctionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType3FunctionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return this;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType3FunctionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType3FunctionDictionary& operator=(const SkPdfType3FunctionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Functions() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Functions", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Bounds() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bounds", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Encode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType3FunctionDictionary
diff --git a/experimental/PdfViewer/SkPdfType3ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType3ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..1e1c821
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef __DEFINED__SkPdfType3ShadingDictionary
+#define __DEFINED__SkPdfType3ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType3ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType3ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType3ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return this;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType3ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType3ShadingDictionary& operator=(const SkPdfType3ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfArray Coords() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Coords", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfArray Domain() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  SkPdfArray Extend() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Extend", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType3ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfType4ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType4ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..defff8d
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef __DEFINED__SkPdfType4ShadingDictionary
+#define __DEFINED__SkPdfType4ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType4ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType4ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType4ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return this;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType4ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType4ShadingDictionary& operator=(const SkPdfType4ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long BitsPerCoordinate() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerCoordinate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerComponent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerFlag() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerFlag", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkRect Decode() const {
+    SkRect ret;
+    if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkRect();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType4ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfType5HalftoneDictionary_autogen.h b/experimental/PdfViewer/SkPdfType5HalftoneDictionary_autogen.h
new file mode 100644 (file)
index 0000000..3e26bc5
--- /dev/null
@@ -0,0 +1,604 @@
+#ifndef __DEFINED__SkPdfType5HalftoneDictionary
+#define __DEFINED__SkPdfType5HalftoneDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType5HalftoneDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType5HalftoneDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType5HalftoneDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return this;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType5HalftoneDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType5HalftoneDictionary& operator=(const SkPdfType5HalftoneDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  double HalftoneType() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string HalftoneName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+/*
+  bool has_[any_colorant_name]() const {
+    return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_colorant_name]", "", NULL));
+  }
+  bool is[any_colorant_name]ADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_colorant_name]", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* get[any_colorant_name]AsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_colorant_name]", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool is[any_colorant_name]AStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_colorant_name]", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream get[any_colorant_name]AsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_colorant_name]", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+*/
+  bool isDefaultADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Default", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getDefaultAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Default", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isDefaultAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Default", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getDefaultAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Default", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType5HalftoneDictionary
diff --git a/experimental/PdfViewer/SkPdfType5ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType5ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..ead37dd
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef __DEFINED__SkPdfType5ShadingDictionary
+#define __DEFINED__SkPdfType5ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType5ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType5ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType5ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return this;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType5ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType5ShadingDictionary& operator=(const SkPdfType5ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long BitsPerCoordinate() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerCoordinate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerComponent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long VerticesPerRow() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "VerticesPerRow", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Decode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType5ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfType6HalftoneDictionary_autogen.h b/experimental/PdfViewer/SkPdfType6HalftoneDictionary_autogen.h
new file mode 100644 (file)
index 0000000..1d1df92
--- /dev/null
@@ -0,0 +1,587 @@
+#ifndef __DEFINED__SkPdfType6HalftoneDictionary
+#define __DEFINED__SkPdfType6HalftoneDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfType6HalftoneDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryType6HalftoneDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryType6HalftoneDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return this;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType6HalftoneDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType6HalftoneDictionary& operator=(const SkPdfType6HalftoneDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long HalftoneType() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneType", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  std::string HalftoneName() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HalftoneName", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Width() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long Height() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isTransferFunctionAFunction() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Reference;
+  }
+
+  SkPdfFunction getTransferFunctionAsFunction() const {
+    SkPdfFunction ret = SkPdfFunction();
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+  bool isTransferFunctionAName() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Name;
+  }
+
+  std::string getTransferFunctionAsName() const {
+    std::string ret = "";
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TransferFunction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType6HalftoneDictionary
diff --git a/experimental/PdfViewer/SkPdfType6ShadingDictionary_autogen.h b/experimental/PdfViewer/SkPdfType6ShadingDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8ef3829
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef __DEFINED__SkPdfType6ShadingDictionary
+#define __DEFINED__SkPdfType6ShadingDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfShadingDictionary_autogen.h"
+
+class SkPdfType6ShadingDictionary : public SkPdfShadingDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryShadingDictionaryType6ShadingDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryShadingDictionaryType6ShadingDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return this;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return this;}
+
+private:
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfType6ShadingDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfShadingDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfType6ShadingDictionary& operator=(const SkPdfType6ShadingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  long BitsPerCoordinate() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerCoordinate", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerComponent() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long BitsPerFlag() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerFlag", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray Decode() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  SkPdfFunction Function() const {
+    SkPdfFunction ret;
+    if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Function", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfFunction();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfType6ShadingDictionary
diff --git a/experimental/PdfViewer/SkPdfURIActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfURIActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..8ce55e6
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfURIActionDictionary
+#define __DEFINED__SkPdfURIActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfURIActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryURIActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryURIActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return this;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfURIActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfURIActionDictionary& operator=(const SkPdfURIActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string URI() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool IsMap() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IsMap", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfURIActionDictionary
diff --git a/experimental/PdfViewer/SkPdfURIDictionary_autogen.h b/experimental/PdfViewer/SkPdfURIDictionary_autogen.h
new file mode 100644 (file)
index 0000000..feee61e
--- /dev/null
@@ -0,0 +1,533 @@
+#ifndef __DEFINED__SkPdfURIDictionary
+#define __DEFINED__SkPdfURIDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfURIDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryURIDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryURIDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfURIDictionary* asURIDictionary() {return this;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfURIDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfURIDictionary& operator=(const SkPdfURIDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Base() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Base", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfURIDictionary
diff --git a/experimental/PdfViewer/SkPdfURLAliasDictionary_autogen.h b/experimental/PdfViewer/SkPdfURLAliasDictionary_autogen.h
new file mode 100644 (file)
index 0000000..41c8214
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfURLAliasDictionary
+#define __DEFINED__SkPdfURLAliasDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfURLAliasDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryURLAliasDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryURLAliasDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return this;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfURLAliasDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfURLAliasDictionary& operator=(const SkPdfURLAliasDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string U() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray C() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfURLAliasDictionary
diff --git a/experimental/PdfViewer/SkPdfVariableTextFieldDictionary_autogen.h b/experimental/PdfViewer/SkPdfVariableTextFieldDictionary_autogen.h
new file mode 100644 (file)
index 0000000..4c2070f
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfVariableTextFieldDictionary
+#define __DEFINED__SkPdfVariableTextFieldDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfVariableTextFieldDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryVariableTextFieldDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryVariableTextFieldDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return this;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfVariableTextFieldDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfVariableTextFieldDictionary& operator=(const SkPdfVariableTextFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* DR() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DR", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  std::string DA() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long Q() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfVariableTextFieldDictionary
diff --git a/experimental/PdfViewer/SkPdfViewerPreferencesDictionary_autogen.h b/experimental/PdfViewer/SkPdfViewerPreferencesDictionary_autogen.h
new file mode 100644 (file)
index 0000000..496f6c7
--- /dev/null
@@ -0,0 +1,610 @@
+#ifndef __DEFINED__SkPdfViewerPreferencesDictionary
+#define __DEFINED__SkPdfViewerPreferencesDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfViewerPreferencesDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryViewerPreferencesDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryViewerPreferencesDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return this;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfViewerPreferencesDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfViewerPreferencesDictionary& operator=(const SkPdfViewerPreferencesDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  bool HideToolbar() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HideToolbar", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool HideMenubar() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HideMenubar", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool HideWindowUI() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HideWindowUI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool FitWindow() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FitWindow", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool CenterWindow() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CenterWindow", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  bool DisplayDocTitle() const {
+    bool ret;
+    if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DisplayDocTitle", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return false;
+  }
+
+  std::string NonFullScreenPageMode() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NonFullScreenPageMode", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Direction() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Direction", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string ViewArea() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ViewArea", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string ViewClip() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ViewClip", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string PrintArea() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PrintArea", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string PrintClip() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PrintClip", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfViewerPreferencesDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCaptureCommandDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCaptureCommandDictionary_autogen.h
new file mode 100644 (file)
index 0000000..a5d2ae9
--- /dev/null
@@ -0,0 +1,594 @@
+#ifndef __DEFINED__SkPdfWebCaptureCommandDictionary
+#define __DEFINED__SkPdfWebCaptureCommandDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCaptureCommandDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCaptureCommandDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCaptureCommandDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return this;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCaptureCommandDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCaptureCommandDictionary& operator=(const SkPdfWebCaptureCommandDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string URL() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URL", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  long L() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "L", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  long F() const {
+    long ret;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isPAString() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_String || ret->podofo()->GetDataType() == ePdfDataType_HexString;
+  }
+
+  std::string getPAsString() const {
+    std::string ret = "";
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isPAStream() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return false;
+    return ret->podofo()->HasStream();
+  }
+
+  SkPdfStream getPAsStream() const {
+    SkPdfStream ret = SkPdfStream();
+    if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfStream();
+  }
+
+  std::string CT() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string H() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* S() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCaptureCommandDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCaptureCommandSettingsDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCaptureCommandSettingsDictionary_autogen.h
new file mode 100644 (file)
index 0000000..36deedc
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfWebCaptureCommandSettingsDictionary
+#define __DEFINED__SkPdfWebCaptureCommandSettingsDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCaptureCommandSettingsDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCaptureCommandSettingsDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCaptureCommandSettingsDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return this;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCaptureCommandSettingsDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCaptureCommandSettingsDictionary& operator=(const SkPdfWebCaptureCommandSettingsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  SkPdfDictionary* G() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "G", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  SkPdfDictionary* C() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCaptureCommandSettingsDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCaptureDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCaptureDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c7a5e55
--- /dev/null
@@ -0,0 +1,594 @@
+#ifndef __DEFINED__SkPdfWebCaptureDictionary
+#define __DEFINED__SkPdfWebCaptureDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCaptureDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCaptureDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCaptureDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return this;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCaptureDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCaptureDictionary& operator=(const SkPdfWebCaptureDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Type() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string ID() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfArray O() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  bool isSIADictionary() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SI", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
+  }
+
+  SkPdfDictionary* getSIAsDictionary() const {
+    SkPdfDictionary* ret = NULL;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+  bool isSIAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SI", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getSIAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SI", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+  std::string CT() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CT", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDate TS() const {
+    SkPdfDate ret;
+    if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TS", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfDate();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCaptureDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCaptureImageSetDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCaptureImageSetDictionary_autogen.h
new file mode 100644 (file)
index 0000000..d01c28f
--- /dev/null
@@ -0,0 +1,559 @@
+#ifndef __DEFINED__SkPdfWebCaptureImageSetDictionary
+#define __DEFINED__SkPdfWebCaptureImageSetDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCaptureImageSetDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCaptureImageSetDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCaptureImageSetDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return this;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCaptureImageSetDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCaptureImageSetDictionary& operator=(const SkPdfWebCaptureImageSetDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  bool isRAInteger() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Number;
+  }
+
+  long getRAsInteger() const {
+    long ret = 0;
+    if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  bool isRAArray() const {
+    SkPdfObject* ret = NULL;
+    if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return false;
+    return ret->podofo()->GetDataType() == ePdfDataType_Array;
+  }
+
+  SkPdfArray getRAsArray() const {
+    SkPdfArray ret = SkPdfArray();
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCaptureImageSetDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCaptureInformationDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCaptureInformationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..57b40bb
--- /dev/null
@@ -0,0 +1,540 @@
+#ifndef __DEFINED__SkPdfWebCaptureInformationDictionary
+#define __DEFINED__SkPdfWebCaptureInformationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCaptureInformationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCaptureInformationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCaptureInformationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return this;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCaptureInformationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCaptureInformationDictionary& operator=(const SkPdfWebCaptureInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  double V() const {
+    double ret;
+    if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return 0;
+  }
+
+  SkPdfArray C() const {
+    SkPdfArray ret;
+    if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return SkPdfArray();
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCaptureInformationDictionary
diff --git a/experimental/PdfViewer/SkPdfWebCapturePageSetDictionary_autogen.h b/experimental/PdfViewer/SkPdfWebCapturePageSetDictionary_autogen.h
new file mode 100644 (file)
index 0000000..891311c
--- /dev/null
@@ -0,0 +1,547 @@
+#ifndef __DEFINED__SkPdfWebCapturePageSetDictionary
+#define __DEFINED__SkPdfWebCapturePageSetDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWebCapturePageSetDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWebCapturePageSetDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWebCapturePageSetDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return this;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWebCapturePageSetDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWebCapturePageSetDictionary& operator=(const SkPdfWebCapturePageSetDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string S() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string T() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string TID() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TID", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWebCapturePageSetDictionary
diff --git a/experimental/PdfViewer/SkPdfWidgetAnnotationDictionary_autogen.h b/experimental/PdfViewer/SkPdfWidgetAnnotationDictionary_autogen.h
new file mode 100644 (file)
index 0000000..529133a
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfWidgetAnnotationDictionary
+#define __DEFINED__SkPdfWidgetAnnotationDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWidgetAnnotationDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWidgetAnnotationDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWidgetAnnotationDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return this;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWidgetAnnotationDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWidgetAnnotationDictionary& operator=(const SkPdfWidgetAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string Subtype() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string Contents() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string H() const {
+    std::string ret;
+    if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  SkPdfDictionary* MK() const {
+    SkPdfDictionary* ret;
+    if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MK", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return NULL;
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWidgetAnnotationDictionary
diff --git a/experimental/PdfViewer/SkPdfWindowsLaunchActionDictionary_autogen.h b/experimental/PdfViewer/SkPdfWindowsLaunchActionDictionary_autogen.h
new file mode 100644 (file)
index 0000000..c49f03b
--- /dev/null
@@ -0,0 +1,554 @@
+#ifndef __DEFINED__SkPdfWindowsLaunchActionDictionary
+#define __DEFINED__SkPdfWindowsLaunchActionDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfWindowsLaunchActionDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryWindowsLaunchActionDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kObjectDictionaryWindowsLaunchActionDictionary_SkPdfObjectType + 1);}
+public:
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return this;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return NULL;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return NULL;}
+
+  virtual SkPdfImageDictionary* asImageDictionary() {return NULL;}
+  virtual const SkPdfImageDictionary* asImageDictionary() const {return NULL;}
+
+  virtual SkPdfType1FormDictionary* asType1FormDictionary() {return NULL;}
+  virtual const SkPdfType1FormDictionary* asType1FormDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfWindowsLaunchActionDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfWindowsLaunchActionDictionary& operator=(const SkPdfWindowsLaunchActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+  std::string F() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string D() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string O() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+  std::string P() const {
+    std::string ret;
+    if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
+    // TODO(edisonn): warn about missing required field, assert for known good pdfs
+    return "";
+  }
+
+};
+
+#endif  // __DEFINED__SkPdfWindowsLaunchActionDictionary
diff --git a/experimental/PdfViewer/SkPdfXObjectDictionary_autogen.h b/experimental/PdfViewer/SkPdfXObjectDictionary_autogen.h
new file mode 100644 (file)
index 0000000..b699e2c
--- /dev/null
@@ -0,0 +1,520 @@
+#ifndef __DEFINED__SkPdfXObjectDictionary
+#define __DEFINED__SkPdfXObjectDictionary
+
+#include "SkPdfEnums_autogen.h"
+#include "SkPdfArray_autogen.h"
+#include "SkPdfDictionary_autogen.h"
+
+class SkPdfXObjectDictionary : public SkPdfDictionary {
+public:
+  virtual SkPdfObjectType getType() const { return kObjectDictionaryXObjectDictionary_SkPdfObjectType;}
+  virtual SkPdfObjectType getTypeEnd() const { return kObjectDictionaryXObjectDictionary__End_SkPdfObjectType;}
+public:
+  virtual SkPdfXObjectDictionary* asXObjectDictionary() {return this;}
+  virtual const SkPdfXObjectDictionary* asXObjectDictionary() const {return this;}
+
+private:
+  virtual SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfALinkAnnotationDictionary* asALinkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfActionDictionary* asActionDictionary() {return NULL;}
+  virtual const SkPdfActionDictionary* asActionDictionary() const {return NULL;}
+
+  virtual SkPdfAlternateImageDictionary* asAlternateImageDictionary() {return NULL;}
+  virtual const SkPdfAlternateImageDictionary* asAlternateImageDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() {return NULL;}
+  virtual const SkPdfAnnotationActionsDictionary* asAnnotationActionsDictionary() const {return NULL;}
+
+  virtual SkPdfAnnotationDictionary* asAnnotationDictionary() {return NULL;}
+  virtual const SkPdfAnnotationDictionary* asAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() {return NULL;}
+  virtual const SkPdfAppearanceCharacteristicsDictionary* asAppearanceCharacteristicsDictionary() const {return NULL;}
+
+  virtual SkPdfAppearanceDictionary* asAppearanceDictionary() {return NULL;}
+  virtual const SkPdfAppearanceDictionary* asAppearanceDictionary() const {return NULL;}
+
+  virtual SkPdfApplicationDataDictionary* asApplicationDataDictionary() {return NULL;}
+  virtual const SkPdfApplicationDataDictionary* asApplicationDataDictionary() const {return NULL;}
+
+  virtual SkPdfArtifactsDictionary* asArtifactsDictionary() {return NULL;}
+  virtual const SkPdfArtifactsDictionary* asArtifactsDictionary() const {return NULL;}
+
+  virtual SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() {return NULL;}
+  virtual const SkPdfAttributeObjectDictionary* asAttributeObjectDictionary() const {return NULL;}
+
+  virtual SkPdfBeadDictionary* asBeadDictionary() {return NULL;}
+  virtual const SkPdfBeadDictionary* asBeadDictionary() const {return NULL;}
+
+  virtual SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfBlockLevelStructureElementsDictionary* asBlockLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfBorderStyleDictionary* asBorderStyleDictionary() {return NULL;}
+  virtual const SkPdfBorderStyleDictionary* asBorderStyleDictionary() const {return NULL;}
+
+  virtual SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() {return NULL;}
+  virtual const SkPdfBoxColorInformationDictionary* asBoxColorInformationDictionary() const {return NULL;}
+
+  virtual SkPdfBoxStyleDictionary* asBoxStyleDictionary() {return NULL;}
+  virtual const SkPdfBoxStyleDictionary* asBoxStyleDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDescriptorDictionary* asCIDFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() {return NULL;}
+  virtual const SkPdfCIDSystemInfoDictionary* asCIDSystemInfoDictionary() const {return NULL;}
+
+  virtual SkPdfCMapDictionary* asCMapDictionary() {return NULL;}
+  virtual const SkPdfCMapDictionary* asCMapDictionary() const {return NULL;}
+
+  virtual SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalgrayColorSpaceDictionary* asCalgrayColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfCalrgbColorSpaceDictionary* asCalrgbColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfCatalogDictionary* asCatalogDictionary() {return NULL;}
+  virtual const SkPdfCatalogDictionary* asCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfCcittfaxdecodeFilterDictionary* asCcittfaxdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() {return NULL;}
+  virtual const SkPdfCheckboxFieldDictionary* asCheckboxFieldDictionary() const {return NULL;}
+
+  virtual SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() {return NULL;}
+  virtual const SkPdfChoiceFieldDictionary* asChoiceFieldDictionary() const {return NULL;}
+
+  virtual SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() {return NULL;}
+  virtual const SkPdfComponentsWithMetadataDictionary* asComponentsWithMetadataDictionary() const {return NULL;}
+
+  virtual SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfDctdecodeFilterDictionary* asDctdecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfDeviceNColorSpaceDictionary* asDeviceNColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() {return NULL;}
+  virtual const SkPdfDocumentCatalogActionsDictionary* asDocumentCatalogActionsDictionary() const {return NULL;}
+
+  virtual SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() {return NULL;}
+  virtual const SkPdfDocumentInformationDictionary* asDocumentInformationDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileParameterDictionary* asEmbeddedFileParameterDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFileStreamDictionary* asEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() {return NULL;}
+  virtual const SkPdfEmbeddedFontStreamDictionary* asEmbeddedFontStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncodingDictionary* asEncodingDictionary() {return NULL;}
+  virtual const SkPdfEncodingDictionary* asEncodingDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() {return NULL;}
+  virtual const SkPdfEncryptedEmbeddedFileStreamDictionary* asEncryptedEmbeddedFileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() {return NULL;}
+  virtual const SkPdfEncryptionCommonDictionary* asEncryptionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() {return NULL;}
+  virtual const SkPdfFDFCatalogDictionary* asFDFCatalogDictionary() const {return NULL;}
+
+  virtual SkPdfFDFDictionary* asFDFDictionary() {return NULL;}
+  virtual const SkPdfFDFDictionary* asFDFDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFieldDictionary* asFDFFieldDictionary() {return NULL;}
+  virtual const SkPdfFDFFieldDictionary* asFDFFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFDFFileAnnotationDictionary* asFDFFileAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() {return NULL;}
+  virtual const SkPdfFDFNamedPageReferenceDictionary* asFDFNamedPageReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfFDFPageDictionary* asFDFPageDictionary() {return NULL;}
+  virtual const SkPdfFDFPageDictionary* asFDFPageDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() {return NULL;}
+  virtual const SkPdfFDFTemplateDictionary* asFDFTemplateDictionary() const {return NULL;}
+
+  virtual SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() {return NULL;}
+  virtual const SkPdfFDFTrailerDictionary* asFDFTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFieldDictionary* asFieldDictionary() {return NULL;}
+  virtual const SkPdfFieldDictionary* asFieldDictionary() const {return NULL;}
+
+  virtual SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFileAttachmentAnnotationDictionary* asFileAttachmentAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() {return NULL;}
+  virtual const SkPdfFileSpecificationDictionary* asFileSpecificationDictionary() const {return NULL;}
+
+  virtual SkPdfFileTrailerDictionary* asFileTrailerDictionary() {return NULL;}
+  virtual const SkPdfFileTrailerDictionary* asFileTrailerDictionary() const {return NULL;}
+
+  virtual SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() {return NULL;}
+  virtual const SkPdfFontDescriptorDictionary* asFontDescriptorDictionary() const {return NULL;}
+
+  virtual SkPdfFontDictionary* asFontDictionary() {return NULL;}
+  virtual const SkPdfFontDictionary* asFontDictionary() const {return NULL;}
+
+  virtual SkPdfCIDFontDictionary* asCIDFontDictionary() {return NULL;}
+  virtual const SkPdfCIDFontDictionary* asCIDFontDictionary() const {return NULL;}
+
+  virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
+  virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {return NULL;}
+
+  virtual SkPdfType0FontDictionary* asType0FontDictionary() {return NULL;}
+  virtual const SkPdfType0FontDictionary* asType0FontDictionary() const {return NULL;}
+
+  virtual SkPdfType1FontDictionary* asType1FontDictionary() {return NULL;}
+  virtual const SkPdfType1FontDictionary* asType1FontDictionary() const {return NULL;}
+
+  virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
+  virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() const {return NULL;}
+
+  virtual SkPdfType3FontDictionary* asType3FontDictionary() {return NULL;}
+  virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return NULL;}
+
+  virtual SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() {return NULL;}
+  virtual const SkPdfFormFieldActionsDictionary* asFormFieldActionsDictionary() const {return NULL;}
+
+  virtual SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfFreeTextAnnotationDictionary* asFreeTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() {return NULL;}
+  virtual const SkPdfFunctionCommonDictionary* asFunctionCommonDictionary() const {return NULL;}
+
+  virtual SkPdfGoToActionDictionary* asGoToActionDictionary() {return NULL;}
+  virtual const SkPdfGoToActionDictionary* asGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() {return NULL;}
+  virtual const SkPdfGraphicsStateDictionary* asGraphicsStateDictionary() const {return NULL;}
+
+  virtual SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() {return NULL;}
+  virtual const SkPdfGroupAttributesDictionary* asGroupAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfHideActionDictionary* asHideActionDictionary() {return NULL;}
+  virtual const SkPdfHideActionDictionary* asHideActionDictionary() const {return NULL;}
+
+  virtual SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() {return NULL;}
+  virtual const SkPdfIccProfileStreamDictionary* asIccProfileStreamDictionary() const {return NULL;}
+
+  virtual SkPdfIconFitDictionary* asIconFitDictionary() {return NULL;}
+  virtual const SkPdfIconFitDictionary* asIconFitDictionary() const {return NULL;}
+
+  virtual SkPdfImportDataActionDictionary* asImportDataActionDictionary() {return NULL;}
+  virtual const SkPdfImportDataActionDictionary* asImportDataActionDictionary() const {return NULL;}
+
+  virtual SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfInkAnnotationDictionary* asInkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() {return NULL;}
+  virtual const SkPdfInlineLevelStructureElementsDictionary* asInlineLevelStructureElementsDictionary() const {return NULL;}
+
+  virtual SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() {return NULL;}
+  virtual const SkPdfInteractiveFormDictionary* asInteractiveFormDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() {return NULL;}
+  virtual const SkPdfJavascriptActionDictionary* asJavascriptActionDictionary() const {return NULL;}
+
+  virtual SkPdfJavascriptDictionary* asJavascriptDictionary() {return NULL;}
+  virtual const SkPdfJavascriptDictionary* asJavascriptDictionary() const {return NULL;}
+
+  virtual SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() {return NULL;}
+  virtual const SkPdfJbig2DecodeFilterDictionary* asJbig2DecodeFilterDictionary() const {return NULL;}
+
+  virtual SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() {return NULL;}
+  virtual const SkPdfLabColorSpaceDictionary* asLabColorSpaceDictionary() const {return NULL;}
+
+  virtual SkPdfLaunchActionDictionary* asLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfLaunchActionDictionary* asLaunchActionDictionary() const {return NULL;}
+
+  virtual SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() {return NULL;}
+  virtual const SkPdfLineAnnotationDictionary* asLineAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfListAttributeDictionary* asListAttributeDictionary() {return NULL;}
+  virtual const SkPdfListAttributeDictionary* asListAttributeDictionary() const {return NULL;}
+
+  virtual SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() {return NULL;}
+  virtual const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary* asLzwdecodeAndFlatedecodeFiltersDictionary() const {return NULL;}
+
+  virtual SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() {return NULL;}
+  virtual const SkPdfMacOsFileInformationDictionary* asMacOsFileInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkInformationDictionary* asMarkInformationDictionary() {return NULL;}
+  virtual const SkPdfMarkInformationDictionary* asMarkInformationDictionary() const {return NULL;}
+
+  virtual SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() {return NULL;}
+  virtual const SkPdfMarkedContentReferenceDictionary* asMarkedContentReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() {return NULL;}
+  virtual const SkPdfMarkupAnnotationsDictionary* asMarkupAnnotationsDictionary() const {return NULL;}
+
+  virtual SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() {return NULL;}
+  virtual const SkPdfMetadataStreamDictionary* asMetadataStreamDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActionDictionary* asMovieActionDictionary() {return NULL;}
+  virtual const SkPdfMovieActionDictionary* asMovieActionDictionary() const {return NULL;}
+
+  virtual SkPdfMovieActivationDictionary* asMovieActivationDictionary() {return NULL;}
+  virtual const SkPdfMovieActivationDictionary* asMovieActivationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() {return NULL;}
+  virtual const SkPdfMovieAnnotationDictionary* asMovieAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfMovieDictionary* asMovieDictionary() {return NULL;}
+  virtual const SkPdfMovieDictionary* asMovieDictionary() const {return NULL;}
+
+  virtual SkPdfNameDictionary* asNameDictionary() {return NULL;}
+  virtual const SkPdfNameDictionary* asNameDictionary() const {return NULL;}
+
+  virtual SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNameTreeNodeDictionary* asNameTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfNamedActionsDictionary* asNamedActionsDictionary() {return NULL;}
+  virtual const SkPdfNamedActionsDictionary* asNamedActionsDictionary() const {return NULL;}
+
+  virtual SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfNumberTreeNodeDictionary* asNumberTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() {return NULL;}
+  virtual const SkPdfObjectReferenceDictionary* asObjectReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfOpiVersionDictionary* asOpiVersionDictionary() {return NULL;}
+  virtual const SkPdfOpiVersionDictionary* asOpiVersionDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineDictionary* asOutlineDictionary() {return NULL;}
+  virtual const SkPdfOutlineDictionary* asOutlineDictionary() const {return NULL;}
+
+  virtual SkPdfOutlineItemDictionary* asOutlineItemDictionary() {return NULL;}
+  virtual const SkPdfOutlineItemDictionary* asOutlineItemDictionary() const {return NULL;}
+
+  virtual SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() {return NULL;}
+  virtual const SkPdfPDF_XOutputIntentDictionary* asPDF_XOutputIntentDictionary() const {return NULL;}
+
+  virtual SkPdfPSXobjectDictionary* asPSXobjectDictionary() {return NULL;}
+  virtual const SkPdfPSXobjectDictionary* asPSXobjectDictionary() const {return NULL;}
+
+  virtual SkPdfPageLabelDictionary* asPageLabelDictionary() {return NULL;}
+  virtual const SkPdfPageLabelDictionary* asPageLabelDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() {return NULL;}
+  virtual const SkPdfPageObjectActionsDictionary* asPageObjectActionsDictionary() const {return NULL;}
+
+  virtual SkPdfPageObjectDictionary* asPageObjectDictionary() {return NULL;}
+  virtual const SkPdfPageObjectDictionary* asPageObjectDictionary() const {return NULL;}
+
+  virtual SkPdfPagePieceDictionary* asPagePieceDictionary() {return NULL;}
+  virtual const SkPdfPagePieceDictionary* asPagePieceDictionary() const {return NULL;}
+
+  virtual SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() {return NULL;}
+  virtual const SkPdfPageTreeNodeDictionary* asPageTreeNodeDictionary() const {return NULL;}
+
+  virtual SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPopUpAnnotationDictionary* asPopUpAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkAnnotationDictionary* asPrinterMarkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() {return NULL;}
+  virtual const SkPdfPrinterMarkFormDictionary* asPrinterMarkFormDictionary() const {return NULL;}
+
+  virtual SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() {return NULL;}
+  virtual const SkPdfRadioButtonFieldDictionary* asRadioButtonFieldDictionary() const {return NULL;}
+
+  virtual SkPdfReferenceDictionary* asReferenceDictionary() {return NULL;}
+  virtual const SkPdfReferenceDictionary* asReferenceDictionary() const {return NULL;}
+
+  virtual SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() {return NULL;}
+  virtual const SkPdfRemoteGoToActionDictionary* asRemoteGoToActionDictionary() const {return NULL;}
+
+  virtual SkPdfResetFormActionDictionary* asResetFormActionDictionary() {return NULL;}
+  virtual const SkPdfResetFormActionDictionary* asResetFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfResourceDictionary* asResourceDictionary() {return NULL;}
+  virtual const SkPdfResourceDictionary* asResourceDictionary() const {return NULL;}
+
+  virtual SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() {return NULL;}
+  virtual const SkPdfRubberStampAnnotationDictionary* asRubberStampAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSeparationDictionary* asSeparationDictionary() {return NULL;}
+  virtual const SkPdfSeparationDictionary* asSeparationDictionary() const {return NULL;}
+
+  virtual SkPdfShadingDictionary* asShadingDictionary() {return NULL;}
+  virtual const SkPdfShadingDictionary* asShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType1ShadingDictionary* asType1ShadingDictionary() {return NULL;}
+  virtual const SkPdfType1ShadingDictionary* asType1ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType2ShadingDictionary* asType2ShadingDictionary() {return NULL;}
+  virtual const SkPdfType2ShadingDictionary* asType2ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType3ShadingDictionary* asType3ShadingDictionary() {return NULL;}
+  virtual const SkPdfType3ShadingDictionary* asType3ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType4ShadingDictionary* asType4ShadingDictionary() {return NULL;}
+  virtual const SkPdfType4ShadingDictionary* asType4ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType5ShadingDictionary* asType5ShadingDictionary() {return NULL;}
+  virtual const SkPdfType5ShadingDictionary* asType5ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfType6ShadingDictionary* asType6ShadingDictionary() {return NULL;}
+  virtual const SkPdfType6ShadingDictionary* asType6ShadingDictionary() const {return NULL;}
+
+  virtual SkPdfSignatureDictionary* asSignatureDictionary() {return NULL;}
+  virtual const SkPdfSignatureDictionary* asSignatureDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskDictionary* asSoftMaskDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskDictionary* asSoftMaskDictionary() const {return NULL;}
+
+  virtual SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return NULL;}
+  virtual const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return NULL;}
+
+  virtual SkPdfSoundActionDictionary* asSoundActionDictionary() {return NULL;}
+  virtual const SkPdfSoundActionDictionary* asSoundActionDictionary() const {return NULL;}
+
+  virtual SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() {return NULL;}
+  virtual const SkPdfSoundAnnotationDictionary* asSoundAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfSoundObjectDictionary* asSoundObjectDictionary() {return NULL;}
+  virtual const SkPdfSoundObjectDictionary* asSoundObjectDictionary() const {return NULL;}
+
+  virtual SkPdfSourceInformationDictionary* asSourceInformationDictionary() {return NULL;}
+  virtual const SkPdfSourceInformationDictionary* asSourceInformationDictionary() const {return NULL;}
+
+  virtual SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() {return NULL;}
+  virtual const SkPdfSquareOrCircleAnnotation* asSquareOrCircleAnnotation() const {return NULL;}
+
+  virtual SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() {return NULL;}
+  virtual const SkPdfStandardSecurityHandlerDictionary* asStandardSecurityHandlerDictionary() const {return NULL;}
+
+  virtual SkPdfStandardStructureDictionary* asStandardStructureDictionary() {return NULL;}
+  virtual const SkPdfStandardStructureDictionary* asStandardStructureDictionary() const {return NULL;}
+
+  virtual SkPdfStreamCommonDictionary* asStreamCommonDictionary() {return NULL;}
+  virtual const SkPdfStreamCommonDictionary* asStreamCommonDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() {return NULL;}
+  virtual const SkPdfStructureElementAccessDictionary* asStructureElementAccessDictionary() const {return NULL;}
+
+  virtual SkPdfStructureElementDictionary* asStructureElementDictionary() {return NULL;}
+  virtual const SkPdfStructureElementDictionary* asStructureElementDictionary() const {return NULL;}
+
+  virtual SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() {return NULL;}
+  virtual const SkPdfStructureTreeRootDictionary* asStructureTreeRootDictionary() const {return NULL;}
+
+  virtual SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() {return NULL;}
+  virtual const SkPdfSubmitFormActionDictionary* asSubmitFormActionDictionary() const {return NULL;}
+
+  virtual SkPdfTableAttributesDictionary* asTableAttributesDictionary() {return NULL;}
+  virtual const SkPdfTableAttributesDictionary* asTableAttributesDictionary() const {return NULL;}
+
+  virtual SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTextAnnotationDictionary* asTextAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTextFieldDictionary* asTextFieldDictionary() {return NULL;}
+  virtual const SkPdfTextFieldDictionary* asTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfThreadActionDictionary* asThreadActionDictionary() {return NULL;}
+  virtual const SkPdfThreadActionDictionary* asThreadActionDictionary() const {return NULL;}
+
+  virtual SkPdfThreadDictionary* asThreadDictionary() {return NULL;}
+  virtual const SkPdfThreadDictionary* asThreadDictionary() const {return NULL;}
+
+  virtual SkPdfTransitionDictionary* asTransitionDictionary() {return NULL;}
+  virtual const SkPdfTransitionDictionary* asTransitionDictionary() const {return NULL;}
+
+  virtual SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() {return NULL;}
+  virtual const SkPdfTransparencyGroupDictionary* asTransparencyGroupDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAnnotationDictionary* asTrapNetworkAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() {return NULL;}
+  virtual const SkPdfTrapNetworkAppearanceStreamDictionary* asTrapNetworkAppearanceStreamDictionary() const {return NULL;}
+
+  virtual SkPdfType0FunctionDictionary* asType0FunctionDictionary() {return NULL;}
+  virtual const SkPdfType0FunctionDictionary* asType0FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType10HalftoneDictionary* asType10HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType16HalftoneDictionary* asType16HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType1HalftoneDictionary* asType1HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType1PatternDictionary* asType1PatternDictionary() {return NULL;}
+  virtual const SkPdfType1PatternDictionary* asType1PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType2FunctionDictionary* asType2FunctionDictionary() {return NULL;}
+  virtual const SkPdfType2FunctionDictionary* asType2FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType2PatternDictionary* asType2PatternDictionary() {return NULL;}
+  virtual const SkPdfType2PatternDictionary* asType2PatternDictionary() const {return NULL;}
+
+  virtual SkPdfType3FunctionDictionary* asType3FunctionDictionary() {return NULL;}
+  virtual const SkPdfType3FunctionDictionary* asType3FunctionDictionary() const {return NULL;}
+
+  virtual SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType5HalftoneDictionary* asType5HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() {return NULL;}
+  virtual const SkPdfType6HalftoneDictionary* asType6HalftoneDictionary() const {return NULL;}
+
+  virtual SkPdfURIActionDictionary* asURIActionDictionary() {return NULL;}
+  virtual const SkPdfURIActionDictionary* asURIActionDictionary() const {return NULL;}
+
+  virtual SkPdfURIDictionary* asURIDictionary() {return NULL;}
+  virtual const SkPdfURIDictionary* asURIDictionary() const {return NULL;}
+
+  virtual SkPdfURLAliasDictionary* asURLAliasDictionary() {return NULL;}
+  virtual const SkPdfURLAliasDictionary* asURLAliasDictionary() const {return NULL;}
+
+  virtual SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() {return NULL;}
+  virtual const SkPdfVariableTextFieldDictionary* asVariableTextFieldDictionary() const {return NULL;}
+
+  virtual SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() {return NULL;}
+  virtual const SkPdfViewerPreferencesDictionary* asViewerPreferencesDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandDictionary* asWebCaptureCommandDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureCommandSettingsDictionary* asWebCaptureCommandSettingsDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureDictionary* asWebCaptureDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureDictionary* asWebCaptureDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureImageSetDictionary* asWebCaptureImageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() {return NULL;}
+  virtual const SkPdfWebCaptureInformationDictionary* asWebCaptureInformationDictionary() const {return NULL;}
+
+  virtual SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() {return NULL;}
+  virtual const SkPdfWebCapturePageSetDictionary* asWebCapturePageSetDictionary() const {return NULL;}
+
+  virtual SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() {return NULL;}
+  virtual const SkPdfWidgetAnnotationDictionary* asWidgetAnnotationDictionary() const {return NULL;}
+
+  virtual SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() {return NULL;}
+  virtual const SkPdfWindowsLaunchActionDictionary* asWindowsLaunchActionDictionary() const {return NULL;}
+
+public:
+private:
+public:
+  SkPdfXObjectDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObject* podofoObj = NULL) : SkPdfDictionary(podofoDoc, podofoObj) {}
+
+  virtual bool valid() const {return true;}
+
+  SkPdfXObjectDictionary& operator=(const SkPdfXObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
+
+};
+
+#endif  // __DEFINED__SkPdfXObjectDictionary