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

Unified Diff: src/core/SkEdgeBuilder.h

Issue 2221103002: Analytic AntiAlias for Convex Shapes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Declare flag in SkCommonFlags.h for iOS build Created 4 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/core/SkEdge.cpp ('k') | src/core/SkEdgeBuilder.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkEdgeBuilder.h
diff --git a/src/core/SkEdgeBuilder.h b/src/core/SkEdgeBuilder.h
index 59f62870e7475fe8a5b87cc0c6c1aff258951aa3..097e796de74d851fa070d7ce3588573e3844c042 100644
--- a/src/core/SkEdgeBuilder.h
+++ b/src/core/SkEdgeBuilder.h
@@ -12,6 +12,7 @@
#include "SkTDArray.h"
struct SkEdge;
+struct SkAnalyticEdge;
class SkEdgeClipper;
class SkPath;
@@ -21,9 +22,11 @@ public:
// returns the number of built edges. The array of those edge pointers
// is returned from edgeList().
- int build(const SkPath& path, const SkIRect* clip, int shiftUp, bool clipToTheRight);
+ int build(const SkPath& path, const SkIRect* clip, int shiftUp, bool clipToTheRight,
+ bool analyticAA = false);
- SkEdge** edgeList() { return fEdgeList; }
+ SkEdge** edgeList() { return (SkEdge**)fEdgeList; }
+ SkAnalyticEdge** analyticEdgeList() { return (SkAnalyticEdge**)fEdgeList; }
private:
enum Combine {
@@ -32,11 +35,15 @@ private:
kTotal_Combine
};
- static Combine CombineVertical(const SkEdge* edge, SkEdge* last);
+ Combine CombineVertical(const SkEdge* edge, SkEdge* last);
+ Combine CombineVertical(const SkAnalyticEdge* edge, SkAnalyticEdge* last);
Combine checkVertical(const SkEdge* edge, SkEdge** edgePtr);
+ Combine checkVertical(const SkAnalyticEdge* edge, SkAnalyticEdge** edgePtr);
+ bool vertical_line(const SkEdge* edge);
+ bool vertical_line(const SkAnalyticEdge* edge);
SkChunkAlloc fAlloc;
- SkTDArray<SkEdge*> fList;
+ SkTDArray<void*> fList;
/*
* If we're in general mode, we allcoate the pointers in fList, and this
@@ -44,9 +51,10 @@ private:
* empty, as we will have preallocated room for the pointers in fAlloc's
* block, and fEdgeList will point into that.
*/
- SkEdge** fEdgeList;
+ void** fEdgeList;
int fShiftUp;
+ bool fAnalyticAA;
public:
void addLine(const SkPoint pts[]);
« no previous file with comments | « src/core/SkEdge.cpp ('k') | src/core/SkEdgeBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698