| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 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 #include "SkDeferredCanvas.h" | 8 #include "SkDeferredCanvas.h" |
| 9 #include "SkDrawable.h" | 9 #include "SkDrawable.h" |
| 10 #include "SkPath.h" | 10 #include "SkPath.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 void SkDeferredCanvas::emit(const Rec& rec) { | 93 void SkDeferredCanvas::emit(const Rec& rec) { |
| 94 switch (rec.fType) { | 94 switch (rec.fType) { |
| 95 case kSave_Type: | 95 case kSave_Type: |
| 96 fCanvas->save(); | 96 fCanvas->save(); |
| 97 this->INHERITED::willSave(); | 97 this->INHERITED::willSave(); |
| 98 break; | 98 break; |
| 99 case kClipRect_Type: | 99 case kClipRect_Type: |
| 100 fCanvas->clipRect(rec.fData.fBounds); | 100 fCanvas->clipRect(rec.fData.fBounds); |
| 101 this->INHERITED::onClipRect(rec.fData.fBounds, | 101 this->INHERITED::onClipRect(rec.fData.fBounds, |
| 102 SkRegion::kIntersect_Op, kHard_ClipEdgeS
tyle); | 102 kIntersect_Op, kHard_ClipEdgeStyle); |
| 103 break; | 103 break; |
| 104 case kTrans_Type: | 104 case kTrans_Type: |
| 105 case kScaleTrans_Type: { | 105 case kScaleTrans_Type: { |
| 106 SkMatrix mat; | 106 SkMatrix mat; |
| 107 rec.getConcat(&mat); | 107 rec.getConcat(&mat); |
| 108 fCanvas->concat(mat); | 108 fCanvas->concat(mat); |
| 109 this->INHERITED::didConcat(mat); | 109 this->INHERITED::didConcat(mat); |
| 110 } break; | 110 } break; |
| 111 } | 111 } |
| 112 } | 112 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 this->INHERITED::didConcat(matrix); | 265 this->INHERITED::didConcat(matrix); |
| 266 } | 266 } |
| 267 } | 267 } |
| 268 | 268 |
| 269 void SkDeferredCanvas::didSetMatrix(const SkMatrix& matrix) { | 269 void SkDeferredCanvas::didSetMatrix(const SkMatrix& matrix) { |
| 270 this->flush_all(); | 270 this->flush_all(); |
| 271 fCanvas->setMatrix(matrix); | 271 fCanvas->setMatrix(matrix); |
| 272 this->INHERITED::didSetMatrix(matrix); | 272 this->INHERITED::didSetMatrix(matrix); |
| 273 } | 273 } |
| 274 | 274 |
| 275 void SkDeferredCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeS
tyle edgeStyle) { | 275 void SkDeferredCanvas::onClipRect(const SkRect& rect, ClipOp op, ClipEdgeStyle e
dgeStyle) { |
| 276 if (SkRegion::kIntersect_Op == op) { | 276 if (kIntersect_Op == op) { |
| 277 this->push_cliprect(rect); | 277 this->push_cliprect(rect); |
| 278 } else { | 278 } else { |
| 279 this->flush_all(); | 279 this->flush_all(); |
| 280 fCanvas->clipRect(rect, op, kSoft_ClipEdgeStyle == edgeStyle); | 280 fCanvas->clipRect(rect, op, kSoft_ClipEdgeStyle == edgeStyle); |
| 281 this->INHERITED::onClipRect(rect, op, edgeStyle); | 281 this->INHERITED::onClipRect(rect, op, edgeStyle); |
| 282 } | 282 } |
| 283 } | 283 } |
| 284 | 284 |
| 285 void SkDeferredCanvas::onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEd
geStyle edgeStyle) { | 285 void SkDeferredCanvas::onClipRRect(const SkRRect& rrect, ClipOp op, ClipEdgeStyl
e edgeStyle) { |
| 286 this->flush_all(); | 286 this->flush_all(); |
| 287 fCanvas->clipRRect(rrect, op, kSoft_ClipEdgeStyle == edgeStyle); | 287 fCanvas->clipRRect(rrect, op, kSoft_ClipEdgeStyle == edgeStyle); |
| 288 this->INHERITED::onClipRRect(rrect, op, edgeStyle); | 288 this->INHERITED::onClipRRect(rrect, op, edgeStyle); |
| 289 } | 289 } |
| 290 | 290 |
| 291 void SkDeferredCanvas::onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeS
tyle edgeStyle) { | 291 void SkDeferredCanvas::onClipPath(const SkPath& path, ClipOp op, ClipEdgeStyle e
dgeStyle) { |
| 292 this->flush_all(); | 292 this->flush_all(); |
| 293 fCanvas->clipPath(path, op, kSoft_ClipEdgeStyle == edgeStyle); | 293 fCanvas->clipPath(path, op, kSoft_ClipEdgeStyle == edgeStyle); |
| 294 this->INHERITED::onClipPath(path, op, edgeStyle); | 294 this->INHERITED::onClipPath(path, op, edgeStyle); |
| 295 } | 295 } |
| 296 | 296 |
| 297 void SkDeferredCanvas::onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op)
{ | 297 void SkDeferredCanvas::onClipRegion(const SkRegion& deviceRgn, ClipOp op) { |
| 298 this->flush_all(); | 298 this->flush_all(); |
| 299 fCanvas->clipRegion(deviceRgn, op); | 299 fCanvas->clipRegion(deviceRgn, op); |
| 300 this->INHERITED::onClipRegion(deviceRgn, op); | 300 this->INHERITED::onClipRegion(deviceRgn, op); |
| 301 } | 301 } |
| 302 | 302 |
| 303 void SkDeferredCanvas::onDrawPaint(const SkPaint& paint) { | 303 void SkDeferredCanvas::onDrawPaint(const SkPaint& paint) { |
| 304 // TODO: Can we turn this into drawRect? | 304 // TODO: Can we turn this into drawRect? |
| 305 this->flush_all(); | 305 this->flush_all(); |
| 306 fCanvas->drawPaint(paint); | 306 fCanvas->drawPaint(paint); |
| 307 } | 307 } |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 return true; | 543 return true; |
| 544 } | 544 } |
| 545 return false; | 545 return false; |
| 546 } | 546 } |
| 547 SkImageInfo SkDeferredCanvas::onImageInfo() const { return fCanvas->imageInfo();
} | 547 SkImageInfo SkDeferredCanvas::onImageInfo() const { return fCanvas->imageInfo();
} |
| 548 bool SkDeferredCanvas::onGetProps(SkSurfaceProps* props) const { return fCanvas-
>getProps(props); } | 548 bool SkDeferredCanvas::onGetProps(SkSurfaceProps* props) const { return fCanvas-
>getProps(props); } |
| 549 void SkDeferredCanvas::onFlush() { | 549 void SkDeferredCanvas::onFlush() { |
| 550 this->flush_all(); | 550 this->flush_all(); |
| 551 return fCanvas->flush(); | 551 return fCanvas->flush(); |
| 552 } | 552 } |
| OLD | NEW |