| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 GrDrawState_DEFINED | 8 #ifndef GrDrawState_DEFINED |
| 9 #define GrDrawState_DEFINED | 9 #define GrDrawState_DEFINED |
| 10 | 10 |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 * significant complexity to the multi-ref architecture for deferred drawing
. Once GrDrawState | 249 * significant complexity to the multi-ref architecture for deferred drawing
. Once GrDrawState |
| 250 * and GrOptDrawState are fully separated then GrDrawState will never be in
the deferred | 250 * and GrOptDrawState are fully separated then GrDrawState will never be in
the deferred |
| 251 * execution state and GrOptDrawState always will be (and will be immutable
and therefore | 251 * execution state and GrOptDrawState always will be (and will be immutable
and therefore |
| 252 * unable to have an ARE). At this point we can restore sanity and have the
ARE save and restore | 252 * unable to have an ARE). At this point we can restore sanity and have the
ARE save and restore |
| 253 * the GP. | 253 * the GP. |
| 254 */ | 254 */ |
| 255 class AutoRestoreEffects : public ::SkNoncopyable { | 255 class AutoRestoreEffects : public ::SkNoncopyable { |
| 256 public: | 256 public: |
| 257 AutoRestoreEffects() | 257 AutoRestoreEffects() |
| 258 : fDrawState(NULL) | 258 : fDrawState(NULL) |
| 259 , fOriginalGP(NULL) | 259 , fOriginalGPID(SK_InvalidUniqueID) |
| 260 , fColorEffectCnt(0) | 260 , fColorEffectCnt(0) |
| 261 , fCoverageEffectCnt(0) {} | 261 , fCoverageEffectCnt(0) {} |
| 262 | 262 |
| 263 AutoRestoreEffects(GrDrawState* ds) | 263 AutoRestoreEffects(GrDrawState* ds) |
| 264 : fDrawState(NULL) | 264 : fDrawState(NULL) |
| 265 , fOriginalGP(NULL) | 265 , fOriginalGPID(SK_InvalidUniqueID) |
| 266 , fColorEffectCnt(0) | 266 , fColorEffectCnt(0) |
| 267 , fCoverageEffectCnt(0) { | 267 , fCoverageEffectCnt(0) { |
| 268 this->set(ds); | 268 this->set(ds); |
| 269 } | 269 } |
| 270 | 270 |
| 271 ~AutoRestoreEffects() { this->set(NULL); } | 271 ~AutoRestoreEffects() { this->set(NULL); } |
| 272 | 272 |
| 273 void set(GrDrawState* ds); | 273 void set(GrDrawState* ds); |
| 274 | 274 |
| 275 bool isSet() const { return NULL != fDrawState; } | 275 bool isSet() const { return NULL != fDrawState; } |
| 276 | 276 |
| 277 private: | 277 private: |
| 278 GrDrawState* fDrawState; | 278 GrDrawState* fDrawState; |
| 279 const GrEffect* fOriginalGP; | 279 uint32_t fOriginalGPID; |
| 280 int fColorEffectCnt; | 280 int fColorEffectCnt; |
| 281 int fCoverageEffectCnt; | 281 int fCoverageEffectCnt; |
| 282 }; | 282 }; |
| 283 | 283 |
| 284 /// @} | 284 /// @} |
| 285 | 285 |
| 286 /////////////////////////////////////////////////////////////////////////// | 286 /////////////////////////////////////////////////////////////////////////// |
| 287 /// @name Blending | 287 /// @name Blending |
| 288 //// | 288 //// |
| 289 | 289 |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 // Some of the auto restore objects assume that no effects are removed durin
g their lifetime. | 564 // Some of the auto restore objects assume that no effects are removed durin
g their lifetime. |
| 565 // This is used to assert that this condition holds. | 565 // This is used to assert that this condition holds. |
| 566 SkDEBUGCODE(int fBlockEffectRemovalCnt;) | 566 SkDEBUGCODE(int fBlockEffectRemovalCnt;) |
| 567 | 567 |
| 568 void internalSetVertexAttribs(const GrVertexAttrib attribs[], int count, siz
e_t stride); | 568 void internalSetVertexAttribs(const GrVertexAttrib attribs[], int count, siz
e_t stride); |
| 569 | 569 |
| 570 typedef GrRODrawState INHERITED; | 570 typedef GrRODrawState INHERITED; |
| 571 }; | 571 }; |
| 572 | 572 |
| 573 #endif | 573 #endif |
| OLD | NEW |