aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapDevice.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-02-08 10:07:53 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-08 15:42:46 +0000
commit7627fa51044e35dc21251f925b56f6dd6887df97 (patch)
treefdef2c19e28f5ca8c10aa137672696a2746c8170 /src/core/SkBitmapDevice.h
parent688ded2ee6c3472986eec2122830667378697577 (diff)
add virtuals in prep for device-clipping
Build flag available for backends to begin testing their impl. Need to formalize save/restore, and how to forward these to device but not on picture canvases. BUG=skia:6214 Change-Id: Ic5c0afba3e8c84fcf124567e63fe2f5880b623e7 Reviewed-on: https://skia-review.googlesource.com/8183 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/core/SkBitmapDevice.h')
-rw-r--r--src/core/SkBitmapDevice.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/SkBitmapDevice.h b/src/core/SkBitmapDevice.h
index 1f72d8df3c..0a6471080b 100644
--- a/src/core/SkBitmapDevice.h
+++ b/src/core/SkBitmapDevice.h
@@ -14,6 +14,7 @@
#include "SkDevice.h"
#include "SkImageInfo.h"
#include "SkPixelRef.h"
+#include "SkRasterClip.h"
#include "SkRect.h"
#include "SkScalar.h"
#include "SkSize.h"
@@ -125,6 +126,13 @@ protected:
bool onPeekPixels(SkPixmap*) override;
bool onAccessPixels(SkPixmap*) override;
+ void onSave() override;
+ void onRestore() override;
+ void onClipRect(const SkRect& rect, SkClipOp, bool aa) override;
+ 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;
+
private:
friend class SkCanvas;
friend struct DeviceCM; //for setMatrixClip
@@ -147,6 +155,7 @@ private:
SkBitmap fBitmap;
void* fRasterHandle = nullptr;
+ SkTArray<SkRasterClip> fRCStack;
void setNewSize(const SkISize&); // Used by SkCanvas for resetForNextPicture().