Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: src/pdf/SkPDFShader.h

Issue 870333002: Simplify reference management in SkPDF (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: make Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/pdf/SkPDFResourceDict.cpp ('k') | src/pdf/SkPDFShader.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkPDFShader_DEFINED 10 #ifndef SkPDFShader_DEFINED
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 SkScalar rasterScale); 48 SkScalar rasterScale);
49 }; 49 };
50 50
51 class SkPDFFunctionShader : public SkPDFDict { 51 class SkPDFFunctionShader : public SkPDFDict {
52 SK_DECLARE_INST_COUNT(SkPDFFunctionShader); 52 SK_DECLARE_INST_COUNT(SkPDFFunctionShader);
53 53
54 public: 54 public:
55 static SkPDFFunctionShader* Create(SkAutoTDelete<SkPDFShader::State>*); 55 static SkPDFFunctionShader* Create(SkAutoTDelete<SkPDFShader::State>*);
56 virtual ~SkPDFFunctionShader(); 56 virtual ~SkPDFFunctionShader();
57 bool equals(const SkPDFShader::State&) const; 57 bool equals(const SkPDFShader::State&) const;
58 void getResources(const SkTSet<SkPDFObject*>&,
59 SkTSet<SkPDFObject*>*) SK_OVERRIDE;
60 58
61 private: 59 private:
62 SkAutoTDelete<const SkPDFShader::State> fShaderState; 60 SkAutoTDelete<const SkPDFShader::State> fShaderState;
63 SkTDArray<SkPDFObject*> fResources; 61 SkTDArray<SkPDFObject*> fResources;
64 explicit SkPDFFunctionShader(SkPDFShader::State* state); 62 explicit SkPDFFunctionShader(SkPDFShader::State* state);
65 typedef SkPDFDict INHERITED; 63 typedef SkPDFDict INHERITED;
66 }; 64 };
67 65
68 /** 66 /**
69 * A shader for PDF gradients. This encapsulates the function shader 67 * A shader for PDF gradients. This encapsulates the function shader
70 * inside a tiling pattern while providing a common pattern interface. 68 * inside a tiling pattern while providing a common pattern interface.
71 * The encapsulation allows the use of a SMask for transparency gradients. 69 * The encapsulation allows the use of a SMask for transparency gradients.
72 */ 70 */
73 class SkPDFAlphaFunctionShader : public SkPDFStream { 71 class SkPDFAlphaFunctionShader : public SkPDFStream {
74 public: 72 public:
75 static SkPDFAlphaFunctionShader* Create(SkAutoTDelete<SkPDFShader::State>*); 73 static SkPDFAlphaFunctionShader* Create(SkAutoTDelete<SkPDFShader::State>*);
76 virtual ~SkPDFAlphaFunctionShader(); 74 virtual ~SkPDFAlphaFunctionShader();
77 void getResources(const SkTSet<SkPDFObject*>&,
78 SkTSet<SkPDFObject*>*) SK_OVERRIDE;
79 bool equals(const SkPDFShader::State&) const; 75 bool equals(const SkPDFShader::State&) const;
80 76
81 private: 77 private:
82 SkAutoTDelete<const SkPDFShader::State> fShaderState; 78 SkAutoTDelete<const SkPDFShader::State> fShaderState;
83 SkAutoTUnref<SkPDFObject> fColorShader; 79 SkAutoTUnref<SkPDFObject> fColorShader;
84 SkAutoTUnref<SkPDFResourceDict> fResourceDict; 80 SkAutoTUnref<SkPDFResourceDict> fResourceDict;
85 explicit SkPDFAlphaFunctionShader(SkPDFShader::State* state); 81 explicit SkPDFAlphaFunctionShader(SkPDFShader::State* state);
86 }; 82 };
87 83
88 class SkPDFImageShader : public SkPDFStream { 84 class SkPDFImageShader : public SkPDFStream {
89 public: 85 public:
90 static SkPDFImageShader* Create(SkAutoTDelete<SkPDFShader::State>*); 86 static SkPDFImageShader* Create(SkAutoTDelete<SkPDFShader::State>*);
91 virtual ~SkPDFImageShader(); 87 virtual ~SkPDFImageShader();
92 void getResources(const SkTSet<SkPDFObject*>&,
93 SkTSet<SkPDFObject*>*) SK_OVERRIDE;
94 bool equals(const SkPDFShader::State&) const; 88 bool equals(const SkPDFShader::State&) const;
95 89
96 private: 90 private:
97 SkAutoTDelete<const SkPDFShader::State> fShaderState; 91 SkAutoTDelete<const SkPDFShader::State> fShaderState;
98 SkTSet<SkPDFObject*> fResources; 92 SkTSet<SkPDFObject*> fResources;
99 explicit SkPDFImageShader(SkPDFShader::State* state); 93 explicit SkPDFImageShader(SkPDFShader::State* state);
100 }; 94 };
101 95
102 #endif 96 #endif
OLDNEW
« no previous file with comments | « src/pdf/SkPDFResourceDict.cpp ('k') | src/pdf/SkPDFShader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698