OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef DMSrcSink_DEFINED | 8 #ifndef DMSrcSink_DEFINED |
9 #define DMSrcSink_DEFINED | 9 #define DMSrcSink_DEFINED |
10 | 10 |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 SVGSink(); | 207 SVGSink(); |
208 | 208 |
209 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 209 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
210 int enclave() const override { return kAnyThread_Enclave; } | 210 int enclave() const override { return kAnyThread_Enclave; } |
211 const char* fileExtension() const override { return "svg"; } | 211 const char* fileExtension() const override { return "svg"; } |
212 }; | 212 }; |
213 | 213 |
214 | 214 |
215 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ | 215 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ |
216 | 216 |
217 class ViaMatrix : public Sink { | 217 class Via : public Sink { |
218 public: | 218 public: |
219 ViaMatrix(SkMatrix, Sink*); | 219 explicit Via(Sink* sink) : fSink(sink) {} |
220 | |
221 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | |
222 int enclave() const override { return fSink->enclave(); } | |
223 const char* fileExtension() const override { return fSink->fileExtension();
} | 220 const char* fileExtension() const override { return fSink->fileExtension();
} |
224 private: | 221 int enclave() const override { return fSink->enclave(); } |
225 SkMatrix fMatrix; | 222 protected: |
226 SkAutoTDelete<Sink> fSink; | 223 SkAutoTDelete<Sink> fSink; |
227 }; | 224 }; |
228 | 225 |
229 class ViaUpright : public Sink { | 226 class ViaMatrix : public Via { |
| 227 public: |
| 228 ViaMatrix(SkMatrix, Sink*); |
| 229 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
| 230 private: |
| 231 const SkMatrix fMatrix; |
| 232 }; |
| 233 |
| 234 class ViaUpright : public Via { |
230 public: | 235 public: |
231 ViaUpright(SkMatrix, Sink*); | 236 ViaUpright(SkMatrix, Sink*); |
232 | |
233 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 237 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
234 int enclave() const override { return fSink->enclave(); } | |
235 const char* fileExtension() const override { return fSink->fileExtension();
} | |
236 private: | 238 private: |
237 SkMatrix fMatrix; | 239 const SkMatrix fMatrix; |
238 SkAutoTDelete<Sink> fSink; | |
239 }; | 240 }; |
240 | 241 |
241 class ViaPipe : public Sink { | 242 class ViaPipe : public Via { |
242 public: | 243 public: |
243 explicit ViaPipe(Sink*); | 244 explicit ViaPipe(Sink* sink) : Via(sink) {} |
244 | |
245 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 245 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
246 int enclave() const override { return fSink->enclave(); } | |
247 const char* fileExtension() const override { return fSink->fileExtension();
} | |
248 private: | |
249 SkAutoTDelete<Sink> fSink; | |
250 }; | 246 }; |
251 | 247 |
252 class ViaDeferred : public Sink { | 248 class ViaDeferred : public Via { |
253 public: | 249 public: |
254 explicit ViaDeferred(Sink*); | 250 explicit ViaDeferred(Sink* sink) : Via(sink) {} |
255 | |
256 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 251 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
257 int enclave() const override { return fSink->enclave(); } | |
258 const char* fileExtension() const override { return fSink->fileExtension();
} | |
259 private: | |
260 SkAutoTDelete<Sink> fSink; | |
261 }; | 252 }; |
262 | 253 |
263 class ViaSerialization : public Sink { | 254 class ViaSerialization : public Via { |
264 public: | 255 public: |
265 explicit ViaSerialization(Sink*); | 256 explicit ViaSerialization(Sink* sink) : Via(sink) {} |
266 | |
267 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 257 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
268 int enclave() const override { return fSink->enclave(); } | |
269 const char* fileExtension() const override { return fSink->fileExtension();
} | |
270 private: | |
271 SkAutoTDelete<Sink> fSink; | |
272 }; | 258 }; |
273 | 259 |
274 class ViaTiles : public Sink { | 260 class ViaTiles : public Via { |
275 public: | 261 public: |
276 ViaTiles(int w, int h, SkBBHFactory*, Sink*); | 262 ViaTiles(int w, int h, SkBBHFactory*, Sink*); |
277 | |
278 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 263 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
279 int enclave() const override { return fSink->enclave(); } | |
280 const char* fileExtension() const override { return fSink->fileExtension();
} | |
281 private: | 264 private: |
282 const int fW, fH; | 265 const int fW, fH; |
283 SkAutoTDelete<SkBBHFactory> fFactory; | 266 SkAutoTDelete<SkBBHFactory> fFactory; |
284 SkAutoTDelete<Sink> fSink; | |
285 }; | 267 }; |
286 | 268 |
287 class ViaSecondPicture : public Sink { | 269 class ViaSecondPicture : public Via { |
288 public: | 270 public: |
289 explicit ViaSecondPicture(Sink*); | 271 explicit ViaSecondPicture(Sink* sink) : Via(sink) {} |
290 | |
291 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 272 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
292 int enclave() const override { return fSink->enclave(); } | |
293 const char* fileExtension() const override { return fSink->fileExtension();
} | |
294 private: | |
295 SkAutoTDelete<Sink> fSink; | |
296 }; | 273 }; |
297 | 274 |
298 class ViaSingletonPictures : public Sink { | 275 class ViaSingletonPictures : public Via { |
299 public: | 276 public: |
300 explicit ViaSingletonPictures(Sink*); | 277 explicit ViaSingletonPictures(Sink* sink) : Via(sink) {} |
301 | |
302 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 278 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
303 int enclave() const override { return fSink->enclave(); } | |
304 const char* fileExtension() const override { return fSink->fileExtension();
} | |
305 private: | |
306 SkAutoTDelete<Sink> fSink; | |
307 }; | 279 }; |
308 | 280 |
309 } // namespace DM | 281 } // namespace DM |
310 | 282 |
311 #endif//DMSrcSink_DEFINED | 283 #endif//DMSrcSink_DEFINED |
OLD | NEW |