aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapDevice.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-02-14 14:25:14 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-14 20:07:08 +0000
commitc42a1cdd1de7a3cf57a9a5fd7363f5fb660e97d0 (patch)
tree9a314b3cb18f42c0c71eba11c7b12d393a1ea2d4 /src/core/SkBitmapDevice.h
parentdf85c38163245c7fc3c23cad3a4ad104949f3a62 (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.h5
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().