| 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 |