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

Side by Side Diff: src/core/SkPictureStateTree.h

Issue 267293007: Fix rendering artifacts in pull-saveLayers-forward mode (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Fix bug in unit test Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/core/SkPicturePlayback.cpp ('k') | src/core/SkPictureStateTree.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #ifndef SkPictureStateTree_DEFINED 9 #ifndef SkPictureStateTree_DEFINED
10 #define SkPictureStateTree_DEFINED 10 #define SkPictureStateTree_DEFINED
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 class Iterator { 75 class Iterator {
76 public: 76 public:
77 /** Returns the next op offset needed to create the drawing state 77 /** Returns the next op offset needed to create the drawing state
78 required by the queued up draw operation or the offset of the queued 78 required by the queued up draw operation or the offset of the queued
79 up draw operation itself. In the latter case, the next draw operatio n 79 up draw operation itself. In the latter case, the next draw operatio n
80 will move into the queued up slot. 80 will move into the queued up slot.
81 It retuns kDrawComplete when done. 81 It retuns kDrawComplete when done.
82 TODO: this might be better named nextOp 82 TODO: this might be better named nextOp
83 */ 83 */
84 uint32_t nextDraw(); 84 uint32_t nextDraw();
85 /** Peek at the currently queued up draw op's offset. Note that this can
86 be different then what 'nextDraw' would return b.c. it is
87 the offset of the next _draw_ op while 'nextDraw' can return
88 the offsets to saveLayer and clip ops while it is creating the prope r
89 drawing context for the queued up draw op.
90 */
91 uint32_t peekDraw();
92 /** Stop trying to create the drawing context for the currently queued
93 up _draw_ operation and queue up the next one. This call returns
94 the offset of the skipped _draw_ operation. Obviously (since the
95 correct drawing context has not been established), the skipped
96 _draw_ operation should not be issued. Returns kDrawComplete if
97 the end of the draw operations is reached.
98 */
99 uint32_t skipDraw();
100 static const uint32_t kDrawComplete = SK_MaxU32; 85 static const uint32_t kDrawComplete = SK_MaxU32;
101 Iterator() : fPlaybackMatrix(), fValid(false) { } 86 Iterator() : fPlaybackMatrix(), fValid(false) { }
102 bool isValid() const { return fValid; } 87 bool isValid() const { return fValid; }
103 88
104 private: 89 private:
105 Iterator(const SkTDArray<void*>& draws, SkCanvas* canvas, Node* root); 90 Iterator(const SkTDArray<void*>& draws, SkCanvas* canvas, Node* root);
106 91
107 void setCurrentMatrix(const SkMatrix*); 92 void setCurrentMatrix(const SkMatrix*);
108 93
109 // The draws this iterator is associated with 94 // The draws this iterator is associated with
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 }; 151 };
167 }; 152 };
168 153
169 Node fRoot; 154 Node fRoot;
170 SkMatrix fRootMatrix; 155 SkMatrix fRootMatrix;
171 156
172 typedef SkRefCnt INHERITED; 157 typedef SkRefCnt INHERITED;
173 }; 158 };
174 159
175 #endif 160 #endif
OLDNEW
« no previous file with comments | « src/core/SkPicturePlayback.cpp ('k') | src/core/SkPictureStateTree.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698