| Index: src/gpu/GrFixedClip.h
|
| diff --git a/src/gpu/GrFixedClip.h b/src/gpu/GrFixedClip.h
|
| index 6fb7d23ed1a317dc6584b838957f21ca523b553b..8b3a9c1c9e9d7827f687a22be23b9f010502b0e8 100644
|
| --- a/src/gpu/GrFixedClip.h
|
| +++ b/src/gpu/GrFixedClip.h
|
| @@ -9,8 +9,7 @@
|
| #define GrFixedClip_DEFINED
|
|
|
| #include "GrClip.h"
|
| -#include "GrScissorState.h"
|
| -#include "GrWindowRectsState.h"
|
| +#include "GrTypesPriv.h"
|
|
|
| /**
|
| * GrFixedClip is a clip that gets implemented by fixed-function hardware.
|
| @@ -30,26 +29,32 @@
|
| return fScissorState.intersect(irect);
|
| }
|
|
|
| - const GrWindowRectsState& windowRectsState() const { return fWindowRectsState; }
|
| - bool hasWindowRectangles() const { return fWindowRectsState.enabled(); }
|
| + bool quickContains(const SkRect& rect) const final {
|
| + return !fScissorState.enabled() || GrClip::IsInsideClip(fScissorState.rect(), rect);
|
| + }
|
| + void getConservativeBounds(int width, int height, SkIRect* devResult,
|
| + bool* isIntersectionOfRects) const final;
|
|
|
| - void disableWindowRectangles() { fWindowRectsState.setDisabled(); }
|
| + bool isRRect(const SkRect& rtBounds, SkRRect* rr, bool* aa) const override {
|
| + if (fScissorState.enabled()) {
|
| + SkRect rect = SkRect::Make(fScissorState.rect());
|
| + if (!rect.intersects(rtBounds)) {
|
| + return false;
|
| + }
|
| + rr->setRect(rect);
|
| + *aa = false;
|
| + return true;
|
| + }
|
| + return false;
|
| + };
|
|
|
| - void setWindowRectangles(const GrWindowRectangles& windows, const SkIPoint& origin,
|
| - GrWindowRectsState::Mode mode) {
|
| - fWindowRectsState.set(windows, origin, mode);
|
| - }
|
| -
|
| - bool quickContains(const SkRect&) const override;
|
| - void getConservativeBounds(int w, int h, SkIRect* devResult, bool* iior) const override;
|
| - bool isRRect(const SkRect& rtBounds, SkRRect* rr, bool* aa) const override;
|
| - bool apply(GrContext*, GrDrawContext*, bool, bool, GrAppliedClip* out) const override;
|
| + bool apply(GrContext*, GrDrawContext*, bool useHWAA, bool hasUserStencilSettings,
|
| + GrAppliedClip* out) const final;
|
|
|
| static const GrFixedClip& Disabled();
|
|
|
| private:
|
| - GrScissorState fScissorState;
|
| - GrWindowRectsState fWindowRectsState;
|
| + GrScissorState fScissorState;
|
| };
|
|
|
| #endif
|
|
|