aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ccpr/GrCCClipPath.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ccpr/GrCCClipPath.h')
-rw-r--r--src/gpu/ccpr/GrCCClipPath.h79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/gpu/ccpr/GrCCClipPath.h b/src/gpu/ccpr/GrCCClipPath.h
deleted file mode 100644
index f15cc9c756..0000000000
--- a/src/gpu/ccpr/GrCCClipPath.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrCCClipPath_DEFINED
-#define GrCCClipPath_DEFINED
-
-#include "GrTextureProxy.h"
-#include "SkPath.h"
-
-class GrCCAtlas;
-class GrCCPerFlushResources;
-class GrOnFlushResourceProvider;
-class GrProxyProvider;
-
-/**
- * These are keyed by SkPath generation ID, and store which device-space paths are accessed and
- * where by clip FPs in a given opList. A single GrCCClipPath can be referenced by multiple FPs. At
- * flush time their coverage count masks are packed into atlas(es) alongside normal DrawPathOps.
- */
-class GrCCClipPath {
-public:
- GrCCClipPath() = default;
- GrCCClipPath(const GrCCClipPath&) = delete;
-
- ~GrCCClipPath() {
- // Ensure no clip FPs exist with a dangling pointer back into this class.
- SkASSERT(!fAtlasLazyProxy || fAtlasLazyProxy->isUnique_debugOnly());
- // Ensure no lazy proxy callbacks exist with a dangling pointer back into this class.
- SkASSERT(fHasAtlasTransform);
- }
-
- bool isInitialized() const { return fAtlasLazyProxy != nullptr; }
- void init(GrProxyProvider* proxyProvider,
- const SkPath& deviceSpacePath, const SkIRect& accessRect,
- int rtWidth, int rtHeight);
-
- void addAccess(const SkIRect& accessRect) {
- SkASSERT(this->isInitialized());
- fAccessRect.join(accessRect);
- }
- GrTextureProxy* atlasLazyProxy() const {
- SkASSERT(this->isInitialized());
- return fAtlasLazyProxy.get();
- }
- const SkPath& deviceSpacePath() const {
- SkASSERT(this->isInitialized());
- return fDeviceSpacePath;
- }
- const SkIRect& pathDevIBounds() const {
- SkASSERT(this->isInitialized());
- return fPathDevIBounds;
- }
-
- void renderPathInAtlas(GrCCPerFlushResources*, GrOnFlushResourceProvider*);
-
- const SkVector& atlasScale() const { SkASSERT(fHasAtlasTransform); return fAtlasScale; }
- const SkVector& atlasTranslate() const { SkASSERT(fHasAtlasTransform); return fAtlasTranslate; }
-
-private:
- sk_sp<GrTextureProxy> fAtlasLazyProxy;
- SkPath fDeviceSpacePath;
- SkIRect fPathDevIBounds;
- SkIRect fAccessRect;
-
- const GrCCAtlas* fAtlas = nullptr;
- int16_t fAtlasOffsetX;
- int16_t fAtlasOffsetY;
- SkDEBUGCODE(bool fHasAtlas = false);
-
- SkVector fAtlasScale;
- SkVector fAtlasTranslate;
- SkDEBUGCODE(bool fHasAtlasTransform = false);
-};
-
-#endif