Move clip mask generation into GrReducedClip
This is a temporary solution to facilitate window rectangles and make
clip mask generation more accessible for testing. The eventual goal is
to simplify clips and merge GrReducedClip into GrClipStackClip.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263343002
Review-Url: https://codereview.chromium.org/2263343002
diff --git a/src/gpu/GrReducedClip.h b/src/gpu/GrReducedClip.h
index c3f94a0..731d58f 100644
--- a/src/gpu/GrReducedClip.h
+++ b/src/gpu/GrReducedClip.h
@@ -11,6 +11,9 @@
#include "SkClipStack.h"
#include "SkTLList.h"
+class GrContext;
+class GrDrawContext;
+
/**
* This class takes a clip stack and produces a reduced set of elements that are equivalent to
* applying that full stack within a specified query rectangle.
@@ -60,6 +63,9 @@
InitialState initialState() const { return fInitialState; }
+ bool drawAlphaClipMask(GrDrawContext*) const;
+ bool drawStencilClipMask(GrContext*, GrDrawContext*, const SkIPoint& clipOrigin) const;
+
private:
void walkStack(const SkClipStack&, const SkRect& queryBounds);
bool intersectIBounds(const SkIRect&);