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

Side by Side Diff: include/core/SkPicture.h

Issue 237673017: Fix SK_SUPPORT_DEPRECATED_RECORD_FLAGS handling (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 6 years, 8 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 | « no previous file | no next file » | 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 2007 The Android Open Source Project 3 * Copyright 2007 The Android Open Source Project
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 9
10 #ifndef SkPicture_DEFINED 10 #ifndef SkPicture_DEFINED
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 path. 140 path.
141 */ 141 */
142 kUsePathBoundsForClip_RecordingFlag = 0x01 142 kUsePathBoundsForClip_RecordingFlag = 0x01
143 }; 143 };
144 144
145 #ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS 145 #ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS
146 // TODO: once kOptimizeForClippedPlayback_RecordingFlag is hidden from 146 // TODO: once kOptimizeForClippedPlayback_RecordingFlag is hidden from
147 // all external consumers, SkPicture::createBBoxHierarchy can also be 147 // all external consumers, SkPicture::createBBoxHierarchy can also be
148 // cleaned up. 148 // cleaned up.
149 private: 149 private:
150 friend class SkPictureRecorder;
150 #endif 151 #endif
151 enum Deprecated_RecordingFlags { 152 enum Deprecated_RecordingFlags {
152 /* This flag causes the picture to compute bounding boxes and build 153 /* This flag causes the picture to compute bounding boxes and build
153 up a spatial hierarchy (currently an R-Tree), plus a tree of Canvas' 154 up a spatial hierarchy (currently an R-Tree), plus a tree of Canvas'
154 usually stack-based clip/etc state. This requires an increase in 155 usually stack-based clip/etc state. This requires an increase in
155 recording time (often ~2x; likely more for very complex pictures), 156 recording time (often ~2x; likely more for very complex pictures),
156 but allows us to perform much faster culling at playback time, and 157 but allows us to perform much faster culling at playback time, and
157 completely avoid some unnecessary clips and other operations. This 158 completely avoid some unnecessary clips and other operations. This
158 is ideal for tiled rendering, or any other situation where you're 159 is ideal for tiled rendering, or any other situation where you're
159 drawing a fraction of a large scene into a smaller viewport. 160 drawing a fraction of a large scene into a smaller viewport.
160 161
161 In most cases the record cost is offset by the playback improvement 162 In most cases the record cost is offset by the playback improvement
162 after a frame or two of tiled rendering (and complex pictures that 163 after a frame or two of tiled rendering (and complex pictures that
163 induce the worst record times will generally get the largest 164 induce the worst record times will generally get the largest
164 speedups at playback time). 165 speedups at playback time).
165 166
166 Note: Currently this is not serializable, the bounding data will be 167 Note: Currently this is not serializable, the bounding data will be
167 discarded if you serialize into a stream and then deserialize. 168 discarded if you serialize into a stream and then deserialize.
168 */ 169 */
169 kOptimizeForClippedPlayback_RecordingFlag = 0x02, 170 kOptimizeForClippedPlayback_RecordingFlag = 0x02,
170 }; 171 };
171 #ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS 172 #ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS
172 public: 173 public:
173 #endif 174 #endif
174 175
175 #ifndef SK_SUPPORT_LEGACY_PICTURE_CAN_RECORD 176 #ifndef SK_SUPPORT_LEGACY_PICTURE_CAN_RECORD
176 private: 177 private:
177 friend class SkPictureRecorder; 178 friend class SkPictureRecorder;
178 friend class SkImage_Picture;
179 friend class SkSurface_Picture;
180 #endif 179 #endif
181 180
182 /** Returns the canvas that records the drawing commands. 181 /** Returns the canvas that records the drawing commands.
183 @param width the base width for the picture, as if the recording 182 @param width the base width for the picture, as if the recording
184 canvas' bitmap had this width. 183 canvas' bitmap had this width.
185 @param height the base width for the picture, as if the recording 184 @param height the base width for the picture, as if the recording
186 canvas' bitmap had this height. 185 canvas' bitmap had this height.
187 @param recordFlags optional flags that control recording. 186 @param recordFlags optional flags that control recording.
188 @return the picture canvas. 187 @return the picture canvas.
189 */ 188 */
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 } 487 }
489 488
490 private: 489 private:
491 SkAutoTUnref<SkPictureFactory> fFactory; 490 SkAutoTUnref<SkPictureFactory> fFactory;
492 SkAutoTUnref<SkPicture> fPicture; 491 SkAutoTUnref<SkPicture> fPicture;
493 492
494 typedef SkNoncopyable INHERITED; 493 typedef SkNoncopyable INHERITED;
495 }; 494 };
496 495
497 #endif 496 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698