| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 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 SkCanvas_DEFINED | 8 #ifndef SkCanvas_DEFINED |
| 9 #define SkCanvas_DEFINED | 9 #define SkCanvas_DEFINED |
| 10 | 10 |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 #endif | 323 #endif |
| 324 kARGB_ClipLayer_SaveFlag = 0x1F | 324 kARGB_ClipLayer_SaveFlag = 0x1F |
| 325 }; | 325 }; |
| 326 | 326 |
| 327 /** This call saves the current matrix, clip, and drawFilter, and pushes a | 327 /** This call saves the current matrix, clip, and drawFilter, and pushes a |
| 328 copy onto a private stack. Subsequent calls to translate, scale, | 328 copy onto a private stack. Subsequent calls to translate, scale, |
| 329 rotate, skew, concat or clipRect, clipPath, and setDrawFilter all | 329 rotate, skew, concat or clipRect, clipPath, and setDrawFilter all |
| 330 operate on this copy. | 330 operate on this copy. |
| 331 When the balancing call to restore() is made, the previous matrix, clip, | 331 When the balancing call to restore() is made, the previous matrix, clip, |
| 332 and drawFilter are restored. | 332 and drawFilter are restored. |
| 333 |
| 334 @return The value to pass to restoreToCount() to balance this save() |
| 335 */ |
| 336 int save(); |
| 337 |
| 338 /** DEPRECATED - use save() instead. |
| 339 |
| 340 This behaves the same as save(), but it allows fine-grained control of |
| 341 which state bits to be saved (and subsequently restored). |
| 342 |
| 333 @param flags The flags govern what portion of the Matrix/Clip/drawFilter | 343 @param flags The flags govern what portion of the Matrix/Clip/drawFilter |
| 334 state the save (and matching restore) effect. For example, | 344 state the save (and matching restore) effect. For example, |
| 335 if only kMatrix is specified, then only the matrix state | 345 if only kMatrix is specified, then only the matrix state |
| 336 will be pushed and popped. Likewise for the clip if kClip | 346 will be pushed and popped. Likewise for the clip if kClip |
| 337 is specified. However, the drawFilter is always affected | 347 is specified. However, the drawFilter is always affected |
| 338 by calls to save/restore. | 348 by calls to save/restore. |
| 339 @return The value to pass to restoreToCount() to balance this save() | 349 @return The value to pass to restoreToCount() to balance this save() |
| 340 */ | 350 */ |
| 341 int save(SaveFlags flags = kMatrixClip_SaveFlag); | 351 SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") |
| 352 int save(SaveFlags flags); |
| 342 | 353 |
| 343 /** This behaves the same as save(), but in addition it allocates an | 354 /** This behaves the same as save(), but in addition it allocates an |
| 344 offscreen bitmap. All drawing calls are directed there, and only when | 355 offscreen bitmap. All drawing calls are directed there, and only when |
| 345 the balancing call to restore() is made is that offscreen transfered to | 356 the balancing call to restore() is made is that offscreen transfered to |
| 346 the canvas (or the previous layer). | 357 the canvas (or the previous layer). |
| 347 @param bounds (may be null) This rect, if non-null, is used as a hint to | 358 @param bounds (may be null) This rect, if non-null, is used as a hint to |
| 348 limit the size of the offscreen, and thus drawing may be | 359 limit the size of the offscreen, and thus drawing may be |
| 349 clipped to it, though that clipping is not guaranteed to | 360 clipped to it, though that clipping is not guaranteed to |
| 350 happen. If exact clipping is desired, use clipRect(). | 361 happen. If exact clipping is desired, use clipRect(). |
| 351 @param paint (may be null) This is copied, and is applied to the | 362 @param paint (may be null) This is copied, and is applied to the |
| 352 offscreen when restore() is called | 363 offscreen when restore() is called |
| 364 @return The value to pass to restoreToCount() to balance this save() |
| 365 */ |
| 366 int saveLayer(const SkRect* bounds, const SkPaint* paint); |
| 367 |
| 368 /** DEPRECATED - use saveLayer(const SkRect*, const SkPaint*) instead. |
| 369 |
| 370 This behaves the same as saveLayer(const SkRect*, const SkPaint*), |
| 371 but it allows fine-grained control of which state bits to be saved |
| 372 (and subsequently restored). |
| 373 |
| 374 @param bounds (may be null) This rect, if non-null, is used as a hint to |
| 375 limit the size of the offscreen, and thus drawing may be |
| 376 clipped to it, though that clipping is not guaranteed to |
| 377 happen. If exact clipping is desired, use clipRect(). |
| 378 @param paint (may be null) This is copied, and is applied to the |
| 379 offscreen when restore() is called |
| 353 @param flags LayerFlags | 380 @param flags LayerFlags |
| 354 @return The value to pass to restoreToCount() to balance this save() | 381 @return The value to pass to restoreToCount() to balance this save() |
| 355 */ | 382 */ |
| 356 int saveLayer(const SkRect* bounds, const SkPaint* paint, | 383 SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") |
| 357 SaveFlags flags = kARGB_ClipLayer_SaveFlag); | 384 int saveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags); |
| 358 | 385 |
| 359 /** This behaves the same as save(), but in addition it allocates an | 386 /** This behaves the same as save(), but in addition it allocates an |
| 360 offscreen bitmap. All drawing calls are directed there, and only when | 387 offscreen bitmap. All drawing calls are directed there, and only when |
| 361 the balancing call to restore() is made is that offscreen transfered to | 388 the balancing call to restore() is made is that offscreen transfered to |
| 362 the canvas (or the previous layer). | 389 the canvas (or the previous layer). |
| 363 @param bounds (may be null) This rect, if non-null, is used as a hint to | 390 @param bounds (may be null) This rect, if non-null, is used as a hint to |
| 364 limit the size of the offscreen, and thus drawing may be | 391 limit the size of the offscreen, and thus drawing may be |
| 365 clipped to it, though that clipping is not guaranteed to | 392 clipped to it, though that clipping is not guaranteed to |
| 366 happen. If exact clipping is desired, use clipRect(). | 393 happen. If exact clipping is desired, use clipRect(). |
| 367 @param alpha This is applied to the offscreen when restore() is called. | 394 @param alpha This is applied to the offscreen when restore() is called. |
| 395 @return The value to pass to restoreToCount() to balance this save() |
| 396 */ |
| 397 int saveLayerAlpha(const SkRect* bounds, U8CPU alpha); |
| 398 |
| 399 /** DEPRECATED - use saveLayerAlpha(const SkRect*, U8CPU) instead. |
| 400 |
| 401 This behaves the same as saveLayerAlpha(const SkRect*, U8CPU), |
| 402 but it allows fine-grained control of which state bits to be saved |
| 403 (and subsequently restored). |
| 404 |
| 405 @param bounds (may be null) This rect, if non-null, is used as a hint to |
| 406 limit the size of the offscreen, and thus drawing may be |
| 407 clipped to it, though that clipping is not guaranteed to |
| 408 happen. If exact clipping is desired, use clipRect(). |
| 409 @param alpha This is applied to the offscreen when restore() is called. |
| 368 @param flags LayerFlags | 410 @param flags LayerFlags |
| 369 @return The value to pass to restoreToCount() to balance this save() | 411 @return The value to pass to restoreToCount() to balance this save() |
| 370 */ | 412 */ |
| 371 int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, | 413 SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") |
| 372 SaveFlags flags = kARGB_ClipLayer_SaveFlag); | 414 int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, SaveFlags flags); |
| 373 | 415 |
| 374 /** This call balances a previous call to save(), and is used to remove all | 416 /** This call balances a previous call to save(), and is used to remove all |
| 375 modifications to the matrix/clip/drawFilter state since the last save | 417 modifications to the matrix/clip/drawFilter state since the last save |
| 376 call. | 418 call. |
| 377 It is an error to call restore() more times than save() was called. | 419 It is an error to call restore() more times than save() was called. |
| 378 */ | 420 */ |
| 379 void restore(); | 421 void restore(); |
| 380 | 422 |
| 381 /** Returns the number of matrix/clip states on the SkCanvas' private stack. | 423 /** Returns the number of matrix/clip states on the SkCanvas' private stack. |
| 382 This will equal # save() calls - # restore() calls + 1. The save count o
n | 424 This will equal # save() calls - # restore() calls + 1. The save count o
n |
| (...skipping 1073 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1456 bool asROBitmap(SkBitmap*) const; | 1498 bool asROBitmap(SkBitmap*) const; |
| 1457 | 1499 |
| 1458 private: | 1500 private: |
| 1459 SkBitmap fBitmap; // used if peekPixels() fails | 1501 SkBitmap fBitmap; // used if peekPixels() fails |
| 1460 const void* fAddr; // NULL on failure | 1502 const void* fAddr; // NULL on failure |
| 1461 SkImageInfo fInfo; | 1503 SkImageInfo fInfo; |
| 1462 size_t fRowBytes; | 1504 size_t fRowBytes; |
| 1463 }; | 1505 }; |
| 1464 | 1506 |
| 1465 #endif | 1507 #endif |
| OLD | NEW |