OLD | NEW |
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 SkPDFDevice_DEFINED | 10 #ifndef SkPDFDevice_DEFINED |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "SkTScopedPtr.h" | 21 #include "SkTScopedPtr.h" |
22 | 22 |
23 class SkPDFArray; | 23 class SkPDFArray; |
24 class SkPDFDevice; | 24 class SkPDFDevice; |
25 class SkPDFDict; | 25 class SkPDFDict; |
26 class SkPDFFont; | 26 class SkPDFFont; |
27 class SkPDFFormXObject; | 27 class SkPDFFormXObject; |
28 class SkPDFGlyphSetMap; | 28 class SkPDFGlyphSetMap; |
29 class SkPDFGraphicState; | 29 class SkPDFGraphicState; |
30 class SkPDFObject; | 30 class SkPDFObject; |
| 31 class SkPDFResourceDict; |
31 class SkPDFShader; | 32 class SkPDFShader; |
32 class SkPDFStream; | 33 class SkPDFStream; |
33 template <typename T> class SkTSet; | 34 template <typename T> class SkTSet; |
34 | 35 |
35 // Private classes. | 36 // Private classes. |
36 struct ContentEntry; | 37 struct ContentEntry; |
37 struct GraphicStateEntry; | 38 struct GraphicStateEntry; |
38 struct NamedDestination; | 39 struct NamedDestination; |
39 | 40 |
40 typedef bool (*EncodeToDCTStream)(SkWStream* stream, const SkBitmap& bitmap, con
st SkIRect& rect); | 41 typedef bool (*EncodeToDCTStream)(SkWStream* stream, const SkBitmap& bitmap, con
st SkIRect& rect); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 * if any at all. | 141 * if any at all. |
141 */ | 142 */ |
142 void setDCTEncoder(EncodeToDCTStream encoder) { | 143 void setDCTEncoder(EncodeToDCTStream encoder) { |
143 fEncoder = encoder; | 144 fEncoder = encoder; |
144 } | 145 } |
145 | 146 |
146 // PDF specific methods. | 147 // PDF specific methods. |
147 | 148 |
148 /** Returns the resource dictionary for this device. | 149 /** Returns the resource dictionary for this device. |
149 */ | 150 */ |
150 SK_API SkPDFDict* getResourceDict(); | 151 SK_API SkPDFResourceDict* getResourceDict(); |
151 | |
152 /** Get the list of resources (PDF objects) used on this page. | |
153 * This method will add to newResourceObjects any objects that this method | |
154 * depends on, but not already in knownResourceObjects. This might operate | |
155 * recursively so if this object depends on another object and that object | |
156 * depends on two more, all three objects will be added. | |
157 * | |
158 * @param knownResourceObjects The set of resources to be ignored. | |
159 * @param newResourceObjects The set to append dependant resources to. | |
160 * @param recursive If recursive is true, get the resources of the | |
161 * device's resources recursively. (Useful for adding | |
162 * objects to the catalog.) | |
163 */ | |
164 SK_API void getResources(const SkTSet<SkPDFObject*>& knownResourceObjects, | |
165 SkTSet<SkPDFObject*>* newResourceObjects, | |
166 bool recursive) const; | |
167 | 152 |
168 /** Get the fonts used on this device. | 153 /** Get the fonts used on this device. |
169 */ | 154 */ |
170 SK_API const SkTDArray<SkPDFFont*>& getFontResources() const; | 155 SK_API const SkTDArray<SkPDFFont*>& getFontResources() const; |
171 | 156 |
172 /** Add our named destinations to the supplied dictionary. | 157 /** Add our named destinations to the supplied dictionary. |
173 * @param dict Dictionary to add destinations to. | 158 * @param dict Dictionary to add destinations to. |
174 * @param page The PDF object representing the page for this device. | 159 * @param page The PDF object representing the page for this device. |
175 */ | 160 */ |
176 void appendDestinations(SkPDFDict* dict, SkPDFObject* page); | 161 void appendDestinations(SkPDFDict* dict, SkPDFObject* page); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 // TODO(vandebo): push most of SkPDFDevice's state into a core object in | 201 // TODO(vandebo): push most of SkPDFDevice's state into a core object in |
217 // order to get the right access levels without using friend. | 202 // order to get the right access levels without using friend. |
218 friend class ScopedContentEntry; | 203 friend class ScopedContentEntry; |
219 | 204 |
220 SkISize fPageSize; | 205 SkISize fPageSize; |
221 SkISize fContentSize; | 206 SkISize fContentSize; |
222 SkMatrix fInitialTransform; | 207 SkMatrix fInitialTransform; |
223 SkClipStack fExistingClipStack; | 208 SkClipStack fExistingClipStack; |
224 SkRegion fExistingClipRegion; | 209 SkRegion fExistingClipRegion; |
225 SkPDFArray* fAnnotations; | 210 SkPDFArray* fAnnotations; |
226 SkPDFDict* fResourceDict; | 211 SkPDFResourceDict* fResourceDict; |
227 SkTDArray<NamedDestination*> fNamedDestinations; | 212 SkTDArray<NamedDestination*> fNamedDestinations; |
228 | 213 |
229 SkTDArray<SkPDFGraphicState*> fGraphicStateResources; | 214 SkTDArray<SkPDFGraphicState*> fGraphicStateResources; |
230 SkTDArray<SkPDFObject*> fXObjectResources; | 215 SkTDArray<SkPDFObject*> fXObjectResources; |
231 SkTDArray<SkPDFFont*> fFontResources; | 216 SkTDArray<SkPDFFont*> fFontResources; |
232 SkTDArray<SkPDFObject*> fShaderResources; | 217 SkTDArray<SkPDFObject*> fShaderResources; |
233 | 218 |
234 SkTScopedPtr<ContentEntry> fContentEntries; | 219 SkTScopedPtr<ContentEntry> fContentEntries; |
235 ContentEntry* fLastContentEntry; | 220 ContentEntry* fLastContentEntry; |
236 SkTScopedPtr<ContentEntry> fMarginContentEntries; | 221 SkTScopedPtr<ContentEntry> fMarginContentEntries; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 const SkMatrix& matrix); | 303 const SkMatrix& matrix); |
319 void handleLinkToNamedDest(SkData* nameData, const SkRect& r, | 304 void handleLinkToNamedDest(SkData* nameData, const SkRect& r, |
320 const SkMatrix& matrix); | 305 const SkMatrix& matrix); |
321 void defineNamedDestination(SkData* nameData, const SkPoint& point, | 306 void defineNamedDestination(SkData* nameData, const SkPoint& point, |
322 const SkMatrix& matrix); | 307 const SkMatrix& matrix); |
323 | 308 |
324 typedef SkDevice INHERITED; | 309 typedef SkDevice INHERITED; |
325 }; | 310 }; |
326 | 311 |
327 #endif | 312 #endif |
OLD | NEW |