| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * Copyright 2015 Google Inc. |   2  * Copyright 2015 Google Inc. | 
|   3  * |   3  * | 
|   4  * Use of this source code is governed by a BSD-style license that can be |   4  * Use of this source code is governed by a BSD-style license that can be | 
|   5  * found in the LICENSE file. |   5  * found in the LICENSE file. | 
|   6  */ |   6  */ | 
|   7  |   7  | 
|   8 #ifndef GrStrokeRectBatch_DEFINED |   8 #ifndef GrStrokeRectBatch_DEFINED | 
|   9 #define GrStrokeRectBatch_DEFINED |   9 #define GrStrokeRectBatch_DEFINED | 
|  10  |  10  | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  43 private: |  43 private: | 
|  44     GrStrokeRectBatch(const Geometry& geometry, bool snapToPixelCenters); |  44     GrStrokeRectBatch(const Geometry& geometry, bool snapToPixelCenters); | 
|  45  |  45  | 
|  46     GrColor color() const { return fBatch.fColor; } |  46     GrColor color() const { return fBatch.fColor; } | 
|  47     bool usesLocalCoords() const { return fBatch.fUsesLocalCoords; } |  47     bool usesLocalCoords() const { return fBatch.fUsesLocalCoords; } | 
|  48     bool colorIgnored() const { return fBatch.fColorIgnored; } |  48     bool colorIgnored() const { return fBatch.fColorIgnored; } | 
|  49     const SkMatrix& viewMatrix() const { return fGeoData[0].fViewMatrix; } |  49     const SkMatrix& viewMatrix() const { return fGeoData[0].fViewMatrix; } | 
|  50     bool hairline() const { return fBatch.fHairline; } |  50     bool hairline() const { return fBatch.fHairline; } | 
|  51     bool coverageIgnored() const { return fBatch.fCoverageIgnored; } |  51     bool coverageIgnored() const { return fBatch.fCoverageIgnored; } | 
|  52  |  52  | 
|  53     bool onCombineIfPossible(GrBatch* t) override { |  53     bool onCombineIfPossible(GrBatch* t, const GrCaps&) override { | 
|  54         //if (!this->pipeline()->isEqual(*t->pipeline())) { |  54         // if (!GrPipeline::CanCombine(*this->pipeline(), this->bounds(), *t->pi
    peline(), | 
|  55         //    return false; |  55         //     t->bounds(), caps)) { | 
|  56         //} |  56         //     return false; | 
 |  57         // } | 
|  57         // GrStrokeRectBatch* that = t->cast<StrokeRectBatch>(); |  58         // GrStrokeRectBatch* that = t->cast<StrokeRectBatch>(); | 
|  58  |  59  | 
|  59         // NonAA stroke rects cannot batch right now |  60         // NonAA stroke rects cannot batch right now | 
|  60         // TODO make these batchable |  61         // TODO make these batchable | 
|  61         return false; |  62         return false; | 
|  62     } |  63     } | 
|  63  |  64  | 
|  64     struct BatchTracker { |  65     struct BatchTracker { | 
|  65         GrColor fColor; |  66         GrColor fColor; | 
|  66         bool fUsesLocalCoords; |  67         bool fUsesLocalCoords; | 
|  67         bool fColorIgnored; |  68         bool fColorIgnored; | 
|  68         bool fCoverageIgnored; |  69         bool fCoverageIgnored; | 
|  69         bool fHairline; |  70         bool fHairline; | 
|  70     }; |  71     }; | 
|  71  |  72  | 
|  72     const static int kVertsPerHairlineRect = 5; |  73     const static int kVertsPerHairlineRect = 5; | 
|  73     const static int kVertsPerStrokeRect = 10; |  74     const static int kVertsPerStrokeRect = 10; | 
|  74  |  75  | 
|  75     BatchTracker fBatch; |  76     BatchTracker fBatch; | 
|  76     SkSTArray<1, Geometry, true> fGeoData; |  77     SkSTArray<1, Geometry, true> fGeoData; | 
|  77 }; |  78 }; | 
|  78  |  79  | 
|  79 #endif |  80 #endif | 
| OLD | NEW |