| OLD | NEW |
| 1 #include "DMSrcSink.h" | 1 #include "DMSrcSink.h" |
| 2 #include "SamplePipeControllers.h" | 2 #include "SamplePipeControllers.h" |
| 3 #include "SkCommonFlags.h" | 3 #include "SkCommonFlags.h" |
| 4 #include "SkDocument.h" | 4 #include "SkDocument.h" |
| 5 #include "SkMultiPictureDraw.h" | 5 #include "SkMultiPictureDraw.h" |
| 6 #include "SkOSFile.h" | 6 #include "SkOSFile.h" |
| 7 #include "SkPictureRecorder.h" | 7 #include "SkPictureRecorder.h" |
| 8 #include "SkRandom.h" | 8 #include "SkRandom.h" |
| 9 #include "SkStream.h" | 9 #include "SkStream.h" |
| 10 | 10 |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 ViaPipe::ViaPipe(Sink* sink) : fSink(sink) {} | 233 ViaPipe::ViaPipe(Sink* sink) : fSink(sink) {} |
| 234 | 234 |
| 235 Error ViaPipe::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { | 235 Error ViaPipe::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| 236 // We turn ourselves into another Src that draws our argument into bitmap/st
ream via pipe. | 236 // We turn ourselves into another Src that draws our argument into bitmap/st
ream via pipe. |
| 237 struct ProxySrc : public Src { | 237 struct ProxySrc : public Src { |
| 238 const Src& fSrc; | 238 const Src& fSrc; |
| 239 ProxySrc(const Src& src) : fSrc(src) {} | 239 ProxySrc(const Src& src) : fSrc(src) {} |
| 240 | 240 |
| 241 Error draw(SkCanvas* canvas) const SK_OVERRIDE { | 241 Error draw(SkCanvas* canvas) const SK_OVERRIDE { |
| 242 SkISize size = this->size(); | 242 SkISize size = this->size(); |
| 243 // TODO: is DecodeMemory really required? Might help RAM usage to be
lazy if we can. | |
| 244 PipeController controller(canvas, &SkImageDecoder::DecodeMemory); | 243 PipeController controller(canvas, &SkImageDecoder::DecodeMemory); |
| 245 SkGPipeWriter pipe; | 244 SkGPipeWriter pipe; |
| 246 const uint32_t kFlags = 0; // We mirror SkDeferredCanvas, which does
n't use any flags. | 245 const uint32_t kFlags = 0; // We mirror SkDeferredCanvas, which does
n't use any flags. |
| 247 return fSrc.draw(pipe.startRecording(&controller, kFlags, size.width
(), size.height())); | 246 return fSrc.draw(pipe.startRecording(&controller, kFlags, size.width
(), size.height())); |
| 248 } | 247 } |
| 249 SkISize size() const SK_OVERRIDE { return fSrc.size(); } | 248 SkISize size() const SK_OVERRIDE { return fSrc.size(); } |
| 250 Name name() const SK_OVERRIDE { sk_throw(); return ""; } // No one shou
ld be calling this. | 249 Name name() const SK_OVERRIDE { sk_throw(); return ""; } // No one shou
ld be calling this. |
| 251 } proxy(src); | 250 } proxy(src); |
| 252 return fSink->draw(proxy, bitmap, stream); | 251 return fSink->draw(proxy, bitmap, stream); |
| 253 } | 252 } |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 surfaces.unrefAll(); | 348 surfaces.unrefAll(); |
| 350 return ""; | 349 return ""; |
| 351 } | 350 } |
| 352 SkISize size() const SK_OVERRIDE { return fSize; } | 351 SkISize size() const SK_OVERRIDE { return fSize; } |
| 353 Name name() const SK_OVERRIDE { sk_throw(); return ""; } // No one shou
ld be calling this. | 352 Name name() const SK_OVERRIDE { sk_throw(); return ""; } // No one shou
ld be calling this. |
| 354 } proxy(fW, fH, pic, src.size()); | 353 } proxy(fW, fH, pic, src.size()); |
| 355 return fSink->draw(proxy, bitmap, stream); | 354 return fSink->draw(proxy, bitmap, stream); |
| 356 } | 355 } |
| 357 | 356 |
| 358 } // namespace DM | 357 } // namespace DM |
| OLD | NEW |