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

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

Issue 176863004: Add new skpinfo tool (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: add missing file Created 6 years, 9 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
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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 210
211 #ifdef SK_BUILD_FOR_ANDROID 211 #ifdef SK_BUILD_FOR_ANDROID
212 /** Signals that the caller is prematurely done replaying the drawing 212 /** Signals that the caller is prematurely done replaying the drawing
213 commands. This can be called from a canvas virtual while the picture 213 commands. This can be called from a canvas virtual while the picture
214 is drawing. Has no effect if the picture is not drawing. 214 is drawing. Has no effect if the picture is not drawing.
215 @deprecated preserving for legacy purposes 215 @deprecated preserving for legacy purposes
216 */ 216 */
217 void abortPlayback(); 217 void abortPlayback();
218 #endif 218 #endif
219 219
220 // Return true if the SkStream represents a serialized picture, and fills ou t
221 // SkPictInfo. After this function returns, the SkStream is not rewound; it
222 // will be ready to be parsed to create an SkPicturePlayback.
reed1 2014/03/03 15:18:24 This part about "ready to be parsed..." is confusi
robertphillips 2014/03/03 15:29:29 Done. Hopefully clearer.
223 // If false is returned, SkPictInfo is unmodified.
224 static bool StreamIsSKP(SkStream*, SkPictInfo*);
225 static bool BufferIsSKP(SkReadBuffer&, SkPictInfo*);
226
220 protected: 227 protected:
221 // V2 : adds SkPixelRef's generation ID. 228 // V2 : adds SkPixelRef's generation ID.
222 // V3 : PictInfo tag at beginning, and EOF tag at the end 229 // V3 : PictInfo tag at beginning, and EOF tag at the end
223 // V4 : move SkPictInfo to be the header 230 // V4 : move SkPictInfo to be the header
224 // V5 : don't read/write FunctionPtr on cross-process (we can detect that) 231 // V5 : don't read/write FunctionPtr on cross-process (we can detect that)
225 // V6 : added serialization of SkPath's bounds (and packed its flags tighter ) 232 // V6 : added serialization of SkPath's bounds (and packed its flags tighter )
226 // V7 : changed drawBitmapRect(IRect) to drawBitmapRectToRect(Rect) 233 // V7 : changed drawBitmapRect(IRect) to drawBitmapRectToRect(Rect)
227 // V8 : Add an option for encoding bitmaps 234 // V8 : Add an option for encoding bitmaps
228 // V9 : Allow the reader and writer of an SKP disagree on whether to support 235 // V9 : Allow the reader and writer of an SKP disagree on whether to support
229 // SK_SUPPORT_HINTING_SCALE_FACTOR 236 // SK_SUPPORT_HINTING_SCALE_FACTOR
(...skipping 25 matching lines...) Expand all
255 SkPictureRecord* fRecord; 262 SkPictureRecord* fRecord;
256 int fWidth, fHeight; 263 int fWidth, fHeight;
257 264
258 // Create a new SkPicture from an existing SkPicturePlayback. Ref count of 265 // Create a new SkPicture from an existing SkPicturePlayback. Ref count of
259 // playback is unchanged. 266 // playback is unchanged.
260 SkPicture(SkPicturePlayback*, int width, int height); 267 SkPicture(SkPicturePlayback*, int width, int height);
261 268
262 // For testing. Derived classes may instantiate an alternate 269 // For testing. Derived classes may instantiate an alternate
263 // SkBBoxHierarchy implementation 270 // SkBBoxHierarchy implementation
264 virtual SkBBoxHierarchy* createBBoxHierarchy() const; 271 virtual SkBBoxHierarchy* createBBoxHierarchy() const;
265
266 // Return true if the SkStream represents a serialized picture, and fills ou t
267 // SkPictInfo. After this function returns, the SkStream is not rewound; it
268 // will be ready to be parsed to create an SkPicturePlayback.
269 // If false is returned, SkPictInfo is unmodified.
270 static bool StreamIsSKP(SkStream*, SkPictInfo*);
271 static bool BufferIsSKP(SkReadBuffer&, SkPictInfo*);
272 private: 272 private:
273 void createHeader(void* header) const; 273 void createHeader(void* header) const;
274 274
275 friend class SkFlatPicture; 275 friend class SkFlatPicture;
276 friend class SkPicturePlayback; 276 friend class SkPicturePlayback;
277 277
278 typedef SkRefCnt INHERITED; 278 typedef SkRefCnt INHERITED;
279 }; 279 };
280 280
281 /** 281 /**
282 * Subclasses of this can be passed to canvas.drawPicture. During the drawing 282 * Subclasses of this can be passed to canvas.drawPicture. During the drawing
283 * of the picture, this callback will periodically be invoked. If its 283 * of the picture, this callback will periodically be invoked. If its
284 * abortDrawing() returns true, then picture playback will be interrupted. 284 * abortDrawing() returns true, then picture playback will be interrupted.
285 * 285 *
286 * The resulting drawing is undefined, as there is no guarantee how often the 286 * The resulting drawing is undefined, as there is no guarantee how often the
287 * callback will be invoked. If the abort happens inside some level of nested 287 * callback will be invoked. If the abort happens inside some level of nested
288 * calls to save(), restore will automatically be called to return the state 288 * calls to save(), restore will automatically be called to return the state
289 * to the same level it was before the drawPicture call was made. 289 * to the same level it was before the drawPicture call was made.
290 */ 290 */
291 class SK_API SkDrawPictureCallback { 291 class SK_API SkDrawPictureCallback {
292 public: 292 public:
293 SkDrawPictureCallback() {} 293 SkDrawPictureCallback() {}
294 virtual ~SkDrawPictureCallback() {} 294 virtual ~SkDrawPictureCallback() {}
295 295
296 virtual bool abortDrawing() = 0; 296 virtual bool abortDrawing() = 0;
297 }; 297 };
298 298
299 #endif 299 #endif
OLDNEW
« no previous file with comments | « gyp/tools.gyp ('k') | src/core/SkPicture.cpp » ('j') | tools/skpinfo.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698