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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 int enclave() const override { return kAnyThread_Enclave; } | 282 int enclave() const override { return kAnyThread_Enclave; } |
283 const char* fileExtension() const override { return "svg"; } | 283 const char* fileExtension() const override { return "svg"; } |
284 SinkFlags flags() const override { return SinkFlags{ SinkFlags::kVector, Sin
kFlags::kDirect }; } | 284 SinkFlags flags() const override { return SinkFlags{ SinkFlags::kVector, Sin
kFlags::kDirect }; } |
285 }; | 285 }; |
286 | 286 |
287 | 287 |
288 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ | 288 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ |
289 | 289 |
290 class Via : public Sink { | 290 class Via : public Sink { |
291 public: | 291 public: |
292 explicit Via(Name name, Sink* sink) : fName(name), fSink(sink) {} | 292 explicit Via(Sink* sink) : fSink(sink) {} |
293 const char* fileExtension() const override { return fSink->fileExtension();
} | 293 const char* fileExtension() const override { return fSink->fileExtension();
} |
294 int enclave() const override { return fSink->enclave(); } | 294 int enclave() const override { return fSink->enclave(); } |
295 Name decorateName(const Src& src) const { | |
296 return SkStringPrintf("%s-%s", src.name().c_str(), fName.c_str()); | |
297 } | |
298 SinkFlags flags() const override { | 295 SinkFlags flags() const override { |
299 SinkFlags flags = fSink->flags(); | 296 SinkFlags flags = fSink->flags(); |
300 flags.approach = SinkFlags::kIndirect; | 297 flags.approach = SinkFlags::kIndirect; |
301 return flags; | 298 return flags; |
302 } | 299 } |
303 protected: | 300 protected: |
304 Name fName; | |
305 SkAutoTDelete<Sink> fSink; | 301 SkAutoTDelete<Sink> fSink; |
306 }; | 302 }; |
307 | 303 |
308 class ViaMatrix : public Via { | 304 class ViaMatrix : public Via { |
309 public: | 305 public: |
310 ViaMatrix(Name, SkMatrix, Sink*); | 306 ViaMatrix(SkMatrix, Sink*); |
311 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 307 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
312 private: | 308 private: |
313 const SkMatrix fMatrix; | 309 const SkMatrix fMatrix; |
314 }; | 310 }; |
315 | 311 |
316 class ViaUpright : public Via { | 312 class ViaUpright : public Via { |
317 public: | 313 public: |
318 ViaUpright(Name, SkMatrix, Sink*); | 314 ViaUpright(SkMatrix, Sink*); |
319 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 315 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
320 private: | 316 private: |
321 const SkMatrix fMatrix; | 317 const SkMatrix fMatrix; |
322 }; | 318 }; |
323 | 319 |
324 class ViaPipe : public Via { | 320 class ViaPipe : public Via { |
325 public: | 321 public: |
326 explicit ViaPipe(Name name, Sink* sink) : Via(name, sink) {} | 322 explicit ViaPipe(Sink* sink) : Via(sink) {} |
327 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 323 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
328 }; | 324 }; |
329 | 325 |
330 class ViaRemote : public Via { | 326 class ViaRemote : public Via { |
331 public: | 327 public: |
332 ViaRemote(Name name, bool cache, Sink* sink) : Via(name, sink), fCache(cache
) {} | 328 ViaRemote(bool cache, Sink* sink) : Via(sink), fCache(cache) {} |
333 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 329 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
334 private: | 330 private: |
335 bool fCache; | 331 bool fCache; |
336 }; | 332 }; |
337 | 333 |
338 class ViaSerialization : public Via { | 334 class ViaSerialization : public Via { |
339 public: | 335 public: |
340 explicit ViaSerialization(Name name, Sink* sink) : Via(name, sink) {} | 336 explicit ViaSerialization(Sink* sink) : Via(sink) {} |
341 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 337 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
342 }; | 338 }; |
343 | 339 |
344 class ViaTiles : public Via { | 340 class ViaTiles : public Via { |
345 public: | 341 public: |
346 ViaTiles(Name, int w, int h, SkBBHFactory*, Sink*); | 342 ViaTiles(int w, int h, SkBBHFactory*, Sink*); |
347 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 343 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
348 private: | 344 private: |
349 const int fW, fH; | 345 const int fW, fH; |
350 SkAutoTDelete<SkBBHFactory> fFactory; | 346 SkAutoTDelete<SkBBHFactory> fFactory; |
351 }; | 347 }; |
352 | 348 |
353 class ViaSecondPicture : public Via { | 349 class ViaSecondPicture : public Via { |
354 public: | 350 public: |
355 explicit ViaSecondPicture(Name name, Sink* sink) : Via(name, sink) {} | 351 explicit ViaSecondPicture(Sink* sink) : Via(sink) {} |
356 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 352 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
357 }; | 353 }; |
358 | 354 |
359 class ViaSingletonPictures : public Via { | 355 class ViaSingletonPictures : public Via { |
360 public: | 356 public: |
361 explicit ViaSingletonPictures(Name name, Sink* sink) : Via(name, sink) {} | 357 explicit ViaSingletonPictures(Sink* sink) : Via(sink) {} |
362 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 358 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
363 }; | 359 }; |
364 | 360 |
365 class ViaTwice : public Via { | 361 class ViaTwice : public Via { |
366 public: | 362 public: |
367 explicit ViaTwice(Name name, Sink* sink) : Via(name, sink) {} | 363 explicit ViaTwice(Sink* sink) : Via(sink) {} |
368 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; | 364 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; |
369 }; | 365 }; |
370 | 366 |
371 } // namespace DM | 367 } // namespace DM |
372 | 368 |
373 #endif//DMSrcSink_DEFINED | 369 #endif//DMSrcSink_DEFINED |
OLD | NEW |