1/*
2 * Copyright 2013 Google Inc.
3
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkPdfType1FormDictionary_DEFINED
9#define SkPdfType1FormDictionary_DEFINED
10
11#include "SkPdfXObjectDictionary_autogen.h"
12
13// Additional entries specific to a type 1 form dictionary
14class SkPdfType1FormDictionary : public SkPdfXObjectDictionary {
15public:
16public:
17   SkPdfType1FormDictionary* asType1FormDictionary() {return this;}
18   const SkPdfType1FormDictionary* asType1FormDictionary() const {return this;}
19
20private:
21   SkPdfImageDictionary* asImageDictionary() {return (SkPdfImageDictionary*)this;}
22   const SkPdfImageDictionary* asImageDictionary() const {return (const SkPdfImageDictionary*)this;}
23
24   SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() {return (SkPdfSoftMaskImageDictionary*)this;}
25   const SkPdfSoftMaskImageDictionary* asSoftMaskImageDictionary() const {return (const SkPdfSoftMaskImageDictionary*)this;}
26
27public:
28   bool valid() const {return true;}
29  SkString Type(SkPdfNativeDoc* doc);
30  bool has_Type() const;
31  SkString Subtype(SkPdfNativeDoc* doc);
32  bool has_Subtype() const;
33  int64_t FormType(SkPdfNativeDoc* doc);
34  bool has_FormType() const;
35  SkString Name(SkPdfNativeDoc* doc);
36  bool has_Name() const;
37  SkPdfDate LastModified(SkPdfNativeDoc* doc);
38  bool has_LastModified() const;
39  SkRect BBox(SkPdfNativeDoc* doc);
40  bool has_BBox() const;
41  SkMatrix Matrix(SkPdfNativeDoc* doc);
42  bool has_Matrix() const;
43  SkPdfResourceDictionary* Resources(SkPdfNativeDoc* doc);
44  bool has_Resources() const;
45  SkPdfTransparencyGroupDictionary* Group(SkPdfNativeDoc* doc);
46  bool has_Group() const;
47  SkPdfDictionary* Ref(SkPdfNativeDoc* doc);
48  bool has_Ref() const;
49  SkPdfStream* Metadata(SkPdfNativeDoc* doc);
50  bool has_Metadata() const;
51  SkPdfDictionary* PieceInfo(SkPdfNativeDoc* doc);
52  bool has_PieceInfo() const;
53  int64_t StructParent(SkPdfNativeDoc* doc);
54  bool has_StructParent() const;
55  int64_t StructParents(SkPdfNativeDoc* doc);
56  bool has_StructParents() const;
57  SkPdfDictionary* OPI(SkPdfNativeDoc* doc);
58  bool has_OPI() const;
59};
60
61#endif  // SkPdfType1FormDictionary_DEFINED
62