aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkRegion.h
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-05-01 14:43:22 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-05-01 14:43:22 +0000
commitaf7e6943b74260ff9038bfbe0f8c50cf66657e83 (patch)
treef4a0e17630f5d11d52e8eed97332786aa51a7f36 /include/core/SkRegion.h
parented4155d610442b75e906a3489c984394c34b5ff9 (diff)
record yspancount and intervalcount in regions
Review URL: https://codereview.appspot.com/6132055 git-svn-id: http://skia.googlecode.com/svn/trunk@3808 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/core/SkRegion.h')
-rw-r--r--include/core/SkRegion.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/core/SkRegion.h b/include/core/SkRegion.h
index f957cb5795..9090a6d053 100644
--- a/include/core/SkRegion.h
+++ b/include/core/SkRegion.h
@@ -382,15 +382,18 @@ private:
};
friend class android::Region; // needed for marshalling efficiently
- void allocateRuns(int count); // allocate space for count runs
struct RunHead;
+
+ // allocate space for count runs
+ void allocateRuns(int count, int ySpanCount, int intervalCount);
+ void allocateRuns(const RunHead& src);
SkIRect fBounds;
RunHead* fRunHead;
void freeRuns();
- const RunType* getRuns(RunType tmpStorage[], int* count) const;
+ const RunType* getRuns(RunType tmpStorage[], int* intervals) const;
bool setRuns(RunType runs[], int count);
int count_runtype_values(int* itop, int* ibot) const;
@@ -399,7 +402,7 @@ private:
RunType runs[kRectRegionRuns]);
// returns true if runs are just a rect
static bool ComputeRunBounds(const RunType runs[], int count,
- SkIRect* bounds);
+ SkIRect*, int* ySpanCount, int* intervalCount);
/**
* If the last arg is null, just return if the result is non-empty,