Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Unified Diff: src/gpu/GrDrawTarget.h

Issue 22686002: Implement path cover with nv_path_rendering (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: fix a comment Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/GrClipMaskManager.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrDrawTarget.h
diff --git a/src/gpu/GrDrawTarget.h b/src/gpu/GrDrawTarget.h
index 47460ac527b56ac85d3efdccde2dc5f999e3ee11..49dd3880c8fcae92a71b86f3aebb7c2ff9263c9a 100644
--- a/src/gpu/GrDrawTarget.h
+++ b/src/gpu/GrDrawTarget.h
@@ -329,6 +329,12 @@ public:
void stencilPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType fill);
/**
+ * Fills a path. Fill must not be a hairline. It will respect the HW
+ * antialias flag on the draw state (if possible in the 3D API).
+ */
+ void fillPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType fill);
+
+ /**
* Helper function for drawing rects. It performs a geometry src push and pop
* and thus will finalize any reserved geometry.
*
@@ -448,6 +454,14 @@ public:
*/
void executeDraw(const DrawInfo& info) { this->onDraw(info); }
+ /**
+ * For subclass internal use to invoke a call to onFillPath().
+ */
+ void executeFillPath(const GrPath* path, const SkStrokeRec& stroke,
+ SkPath::FillType fill, const GrDeviceCoordTexture* dstCopy) {
+ this->onFillPath(path, stroke, fill, dstCopy);
+ }
+
////////////////////////////////////////////////////////////////////////////
/**
@@ -761,15 +775,6 @@ protected:
}
const SkRect* getDevBounds() const { return fDevBounds; }
- bool getDevIBounds(SkIRect* bounds) const {
- if (NULL != fDevBounds) {
- fDevBounds->roundOut(bounds);
- return true;
- } else {
- return false;
- }
- }
-
// NULL if no copy of the dst is needed for the draw.
const GrDeviceCoordTexture* getDstCopy() const {
if (NULL != fDstCopy.texture()) {
@@ -834,6 +839,8 @@ private:
const SkRect* localRect,
const SkMatrix* localMatrix);
virtual void onStencilPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType fill) = 0;
+ virtual void onFillPath(const GrPath*, const SkStrokeRec& stroke, SkPath::FillType fill,
+ const GrDeviceCoordTexture* dstCopy) = 0;
// helpers for reserving vertex and index space.
bool reserveVertexSpace(size_t vertexSize,
@@ -852,7 +859,10 @@ private:
// Makes a copy of the dst if it is necessary for the draw. Returns false if a copy is required
// but couldn't be made. Otherwise, returns true.
- bool setupDstReadIfNecessary(DrawInfo* info);
+ bool setupDstReadIfNecessary(DrawInfo* info) {
+ return this->setupDstReadIfNecessary(&info->fDstCopy, info->getDevBounds());
+ }
+ bool setupDstReadIfNecessary(GrDeviceCoordTexture* dstCopy, const SkRect* drawBounds);
// Check to see if this set of draw commands has been sent out
virtual bool isIssued(uint32_t drawID) { return true; }
« no previous file with comments | « src/gpu/GrClipMaskManager.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698