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 SkPdfImageDictionary_DEFINED 9 #define SkPdfImageDictionary_DEFINED 10 11 #include "SkPdfXObjectDictionary_autogen.h" 12 13 // Additional entries specific to an image dictionary 14 class SkPdfImageDictionary : public SkPdfXObjectDictionary { 15 public: 16 public: asImageDictionary()17 SkPdfImageDictionary* asImageDictionary() {return this;} asImageDictionary()18 const SkPdfImageDictionary* asImageDictionary() const {return this;} 19 20 private: asType1FormDictionary()21 SkPdfType1FormDictionary* asType1FormDictionary() {return (SkPdfType1FormDictionary*)this;} asType1FormDictionary()22 const SkPdfType1FormDictionary* asType1FormDictionary() const {return (const SkPdfType1FormDictionary*)this;} 23 24 public: valid()25 bool valid() const {return true;} 26 SkString Type(SkPdfNativeDoc* doc); 27 bool has_Type() const; 28 SkString Subtype(SkPdfNativeDoc* doc); 29 bool has_Subtype() const; 30 int64_t Width(SkPdfNativeDoc* doc); 31 bool has_Width() const; 32 int64_t Height(SkPdfNativeDoc* doc); 33 bool has_Height() const; 34 35 bool isColorSpaceAName(SkPdfNativeDoc* doc); 36 SkString getColorSpaceAsName(SkPdfNativeDoc* doc); 37 38 bool isColorSpaceAArray(SkPdfNativeDoc* doc); 39 SkPdfArray* getColorSpaceAsArray(SkPdfNativeDoc* doc); 40 bool has_ColorSpace() const; 41 int64_t BitsPerComponent(SkPdfNativeDoc* doc); 42 bool has_BitsPerComponent() const; 43 SkString Intent(SkPdfNativeDoc* doc); 44 bool has_Intent() const; 45 bool ImageMask(SkPdfNativeDoc* doc); 46 bool has_ImageMask() const; 47 48 bool isMaskAStream(SkPdfNativeDoc* doc); 49 SkPdfStream* getMaskAsStream(SkPdfNativeDoc* doc); 50 51 bool isMaskAArray(SkPdfNativeDoc* doc); 52 SkPdfArray* getMaskAsArray(SkPdfNativeDoc* doc); 53 bool has_Mask() const; 54 SkPdfImageDictionary* SMask(SkPdfNativeDoc* doc); 55 bool has_SMask() const; 56 SkPdfArray* Decode(SkPdfNativeDoc* doc); 57 bool has_Decode() const; 58 bool Interpolate(SkPdfNativeDoc* doc); 59 bool has_Interpolate() const; 60 SkPdfArray* Alternates(SkPdfNativeDoc* doc); 61 bool has_Alternates() const; 62 SkString Name(SkPdfNativeDoc* doc); 63 bool has_Name() const; 64 int64_t StructParent(SkPdfNativeDoc* doc); 65 bool has_StructParent() const; 66 SkString ID(SkPdfNativeDoc* doc); 67 bool has_ID() const; 68 SkPdfDictionary* OPI(SkPdfNativeDoc* doc); 69 bool has_OPI() const; 70 SkPdfStream* Metadata(SkPdfNativeDoc* doc); 71 bool has_Metadata() const; 72 }; 73 74 #endif // SkPdfImageDictionary_DEFINED 75