| Index: src/core/SkRecordOpts.cpp
|
| diff --git a/src/core/SkRecordOpts.cpp b/src/core/SkRecordOpts.cpp
|
| index 83512926da7f30e28207943185c56152a474a041..07aac3e4674f43000bd268ba51ec267b324c7984 100644
|
| --- a/src/core/SkRecordOpts.cpp
|
| +++ b/src/core/SkRecordOpts.cpp
|
| @@ -26,7 +26,7 @@ void SkRecordOptimize(SkRecord* record) {
|
|
|
| // Most of the optimizations in this file are pattern-based. These are all defined as structs with:
|
| // - a Pattern typedef
|
| -// - a bool onMatch(SkRceord*, Pattern*, unsigned begin, unsigned end) method,
|
| +// - a bool onMatch(SkRceord*, Pattern*, int begin, int end) method,
|
| // which returns true if it made changes and false if not.
|
|
|
| // Run a pattern-based optimization once across the SkRecord, returning true if it made any changes.
|
| @@ -36,7 +36,7 @@ template <typename Pass>
|
| static bool apply(Pass* pass, SkRecord* record) {
|
| typename Pass::Pattern pattern;
|
| bool changed = false;
|
| - unsigned begin, end = 0;
|
| + int begin, end = 0;
|
|
|
| while (pattern.search(record, &begin, &end)) {
|
| changed |= pass->onMatch(record, &pattern, begin, end);
|
| @@ -51,7 +51,7 @@ struct SaveOnlyDrawsRestoreNooper {
|
| Is<Restore> >
|
| Pattern;
|
|
|
| - bool onMatch(SkRecord* record, Pattern* pattern, unsigned begin, unsigned end) {
|
| + bool onMatch(SkRecord* record, Pattern* pattern, int begin, int end) {
|
| record->replace<NoOp>(begin); // Save
|
| record->replace<NoOp>(end-1); // Restore
|
| return true;
|
| @@ -127,9 +127,9 @@ struct SaveNoDrawsRestoreNooper {
|
| Is<Restore> >
|
| Pattern;
|
|
|
| - bool onMatch(SkRecord* record, Pattern* pattern, unsigned begin, unsigned end) {
|
| + bool onMatch(SkRecord* record, Pattern* pattern, int begin, int end) {
|
| // The entire span between Save and Restore (inclusively) does nothing.
|
| - for (unsigned i = begin; i < end; i++) {
|
| + for (int i = begin; i < end; i++) {
|
| record->replace<NoOp>(i);
|
| }
|
| return true;
|
| @@ -148,7 +148,7 @@ void SkRecordNoopSaveRestores(SkRecord* record) {
|
| struct SaveLayerDrawRestoreNooper {
|
| typedef Pattern3<Is<SaveLayer>, IsDraw, Is<Restore> > Pattern;
|
|
|
| - bool onMatch(SkRecord* record, Pattern* pattern, unsigned begin, unsigned end) {
|
| + bool onMatch(SkRecord* record, Pattern* pattern, int begin, int end) {
|
| // A SaveLayer's bounds field is just a hint, so we should be free to ignore it.
|
| SkPaint* layerPaint = pattern->first<SaveLayer>()->paint;
|
| if (NULL == layerPaint) {
|
| @@ -170,7 +170,7 @@ struct SaveLayerDrawRestoreNooper {
|
| return KillSaveLayerAndRestore(record, begin);
|
| }
|
|
|
| - static bool KillSaveLayerAndRestore(SkRecord* record, unsigned saveLayerIndex) {
|
| + static bool KillSaveLayerAndRestore(SkRecord* record, int saveLayerIndex) {
|
| record->replace<NoOp>(saveLayerIndex); // SaveLayer
|
| record->replace<NoOp>(saveLayerIndex+2); // Restore
|
| return true;
|
| @@ -195,7 +195,7 @@ struct SvgOpacityAndFilterLayerMergePass {
|
| typedef Pattern7<Is<SaveLayer>, Is<Save>, Is<ClipRect>, Is<SaveLayer>,
|
| Is<Restore>, Is<Restore>, Is<Restore> > Pattern;
|
|
|
| - bool onMatch(SkRecord* record, Pattern* pattern, unsigned begin, unsigned end) {
|
| + bool onMatch(SkRecord* record, Pattern* pattern, int begin, int end) {
|
| SkPaint* opacityPaint = pattern->first<SaveLayer>()->paint;
|
| if (NULL == opacityPaint) {
|
| // There wasn't really any point to this SaveLayer at all.
|
| @@ -219,7 +219,7 @@ struct SvgOpacityAndFilterLayerMergePass {
|
| return KillSaveLayerAndRestore(record, begin);
|
| }
|
|
|
| - static bool KillSaveLayerAndRestore(SkRecord* record, unsigned saveLayerIndex) {
|
| + static bool KillSaveLayerAndRestore(SkRecord* record, int saveLayerIndex) {
|
| record->replace<NoOp>(saveLayerIndex); // SaveLayer
|
| record->replace<NoOp>(saveLayerIndex + 6); // Restore
|
| return true;
|
|
|