OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 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 #include "SkDeferredCanvas.h" | 9 #include "SkDeferredCanvas.h" |
10 | 10 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 163 |
164 virtual SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps&) SK_
OVERRIDE; | 164 virtual SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps&) SK_
OVERRIDE; |
165 | 165 |
166 protected: | 166 protected: |
167 virtual const SkBitmap& onAccessBitmap() SK_OVERRIDE; | 167 virtual const SkBitmap& onAccessBitmap() SK_OVERRIDE; |
168 virtual bool onReadPixels(const SkImageInfo&, void*, size_t, int x, int y) S
K_OVERRIDE; | 168 virtual bool onReadPixels(const SkImageInfo&, void*, size_t, int x, int y) S
K_OVERRIDE; |
169 virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int x, i
nt y) SK_OVERRIDE; | 169 virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int x, i
nt y) SK_OVERRIDE; |
170 | 170 |
171 // None of the following drawing methods should ever get called on the | 171 // None of the following drawing methods should ever get called on the |
172 // deferred device | 172 // deferred device |
173 virtual void clear(SkColor color) SK_OVERRIDE | |
174 {SkASSERT(0);} | |
175 virtual void drawPaint(const SkDraw&, const SkPaint& paint) SK_OVERRIDE | 173 virtual void drawPaint(const SkDraw&, const SkPaint& paint) SK_OVERRIDE |
176 {SkASSERT(0);} | 174 {SkASSERT(0);} |
177 virtual void drawPoints(const SkDraw&, SkCanvas::PointMode mode, | 175 virtual void drawPoints(const SkDraw&, SkCanvas::PointMode mode, |
178 size_t count, const SkPoint[], | 176 size_t count, const SkPoint[], |
179 const SkPaint& paint) SK_OVERRIDE | 177 const SkPaint& paint) SK_OVERRIDE |
180 {SkASSERT(0);} | 178 {SkASSERT(0);} |
181 virtual void drawRect(const SkDraw&, const SkRect& r, | 179 virtual void drawRect(const SkDraw&, const SkRect& r, |
182 const SkPaint& paint) SK_OVERRIDE | 180 const SkPaint& paint) SK_OVERRIDE |
183 {SkASSERT(0);} | 181 {SkASSERT(0);} |
184 virtual void drawOval(const SkDraw&, const SkRect&, const SkPaint&) SK_OVERR
IDE | 182 virtual void drawOval(const SkDraw&, const SkRect&, const SkPaint&) SK_OVERR
IDE |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 this->INHERITED::onClipPath(path, op, edgeStyle); | 732 this->INHERITED::onClipPath(path, op, edgeStyle); |
735 this->recordedDrawCommand(); | 733 this->recordedDrawCommand(); |
736 } | 734 } |
737 | 735 |
738 void SkDeferredCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op)
{ | 736 void SkDeferredCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op)
{ |
739 this->drawingCanvas()->clipRegion(deviceRgn, op); | 737 this->drawingCanvas()->clipRegion(deviceRgn, op); |
740 this->INHERITED::onClipRegion(deviceRgn, op); | 738 this->INHERITED::onClipRegion(deviceRgn, op); |
741 this->recordedDrawCommand(); | 739 this->recordedDrawCommand(); |
742 } | 740 } |
743 | 741 |
744 void SkDeferredCanvas::clear(SkColor color) { | |
745 // purge pending commands | |
746 if (fDeferredDrawing) { | |
747 this->getDeferredDevice()->skipPendingCommands(); | |
748 } | |
749 | |
750 this->drawingCanvas()->clear(color); | |
751 this->recordedDrawCommand(); | |
752 } | |
753 | |
754 void SkDeferredCanvas::drawPaint(const SkPaint& paint) { | 742 void SkDeferredCanvas::drawPaint(const SkPaint& paint) { |
755 if (fDeferredDrawing && this->isFullFrame(NULL, &paint) && | 743 if (fDeferredDrawing && this->isFullFrame(NULL, &paint) && |
756 isPaintOpaque(&paint)) { | 744 isPaintOpaque(&paint)) { |
757 this->getDeferredDevice()->skipPendingCommands(); | 745 this->getDeferredDevice()->skipPendingCommands(); |
758 } | 746 } |
759 AutoImmediateDrawIfNeeded autoDraw(*this, &paint); | 747 AutoImmediateDrawIfNeeded autoDraw(*this, &paint); |
760 this->drawingCanvas()->drawPaint(paint); | 748 this->drawingCanvas()->drawPaint(paint); |
761 this->recordedDrawCommand(); | 749 this->recordedDrawCommand(); |
762 } | 750 } |
763 | 751 |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
944 SkDrawFilter* SkDeferredCanvas::setDrawFilter(SkDrawFilter* filter) { | 932 SkDrawFilter* SkDeferredCanvas::setDrawFilter(SkDrawFilter* filter) { |
945 this->drawingCanvas()->setDrawFilter(filter); | 933 this->drawingCanvas()->setDrawFilter(filter); |
946 this->INHERITED::setDrawFilter(filter); | 934 this->INHERITED::setDrawFilter(filter); |
947 this->recordedDrawCommand(); | 935 this->recordedDrawCommand(); |
948 return filter; | 936 return filter; |
949 } | 937 } |
950 | 938 |
951 SkCanvas* SkDeferredCanvas::canvasForDrawIter() { | 939 SkCanvas* SkDeferredCanvas::canvasForDrawIter() { |
952 return this->drawingCanvas(); | 940 return this->drawingCanvas(); |
953 } | 941 } |
OLD | NEW |