diff options
author | Mike Reed <reed@google.com> | 2017-02-14 14:25:14 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-14 20:07:08 +0000 |
commit | c42a1cdd1de7a3cf57a9a5fd7363f5fb660e97d0 (patch) | |
tree | 9a314b3cb18f42c0c71eba11c7b12d393a1ea2d4 /src/core/SkBitmapDevice.h | |
parent | df85c38163245c7fc3c23cad3a4ad104949f3a62 (diff) |
work on raster device clipping
With the flag (SkDevice.h) enabled, I get correct drawing w/ the rasterbackend.
After this lands, hopefully we can work in parallel on gpu/pdf/svg/xps/etc.
BUG=skia:6214
Change-Id: Ie35fee818470aab57aebacca8a2a5b812a552ee2
Reviewed-on: https://skia-review.googlesource.com/8192
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/core/SkBitmapDevice.h')
-rw-r--r-- | src/core/SkBitmapDevice.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/SkBitmapDevice.h b/src/core/SkBitmapDevice.h index 0a6471080b..266b2d9513 100644 --- a/src/core/SkBitmapDevice.h +++ b/src/core/SkBitmapDevice.h @@ -15,6 +15,7 @@ #include "SkImageInfo.h" #include "SkPixelRef.h" #include "SkRasterClip.h" +#include "SkRasterClipStack.h" #include "SkRect.h" #include "SkScalar.h" #include "SkSize.h" @@ -132,6 +133,8 @@ protected: void onClipRRect(const SkRRect& rrect, SkClipOp, bool aa) override; void onClipPath(const SkPath& path, SkClipOp, bool aa) override; void onClipRegion(const SkRegion& deviceRgn, SkClipOp) override; + void onSetDeviceClipRestriction(SkIRect* mutableClipRestriction) override; + void validateDevBounds(const SkIRect& r) override; private: friend class SkCanvas; @@ -155,7 +158,7 @@ private: SkBitmap fBitmap; void* fRasterHandle = nullptr; - SkTArray<SkRasterClip> fRCStack; + SkRasterClipStack fRCStack; void setNewSize(const SkISize&); // Used by SkCanvas for resetForNextPicture(). |