| Index: src/core/SkPictureRecord.cpp
|
| diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
|
| index 5f85b47aac27cb6558506c75e3893d8809f50cb0..60996dbba407843cd3438e3cab516bd816fa6c87 100644
|
| --- a/src/core/SkPictureRecord.cpp
|
| +++ b/src/core/SkPictureRecord.cpp
|
| @@ -61,7 +61,7 @@ static inline size_t get_paint_offset(DrawType op, size_t opSize) {
|
| 1, // DRAW_BITMAP - right after op code
|
| 1, // DRAW_BITMAP_MATRIX - right after op code, deprecated
|
| 1, // DRAW_BITMAP_NINE - right after op code
|
| - 1, // DRAW_BITMAP_RECT_TO_RECT - right after op code
|
| + 1, // DRAW_BITMAP_RECT - right after op code
|
| 0, // DRAW_CLEAR - no paint
|
| 0, // DRAW_DATA - no paint
|
| 1, // DRAW_OVAL - right after op code
|
| @@ -99,9 +99,10 @@ static inline size_t get_paint_offset(DrawType op, size_t opSize) {
|
| 1, // DRAW_PICTURE_MATRIX_PAINT - right after op code
|
| 1, // DRAW_TEXT_BLOB- right after op code
|
| 1, // DRAW_IMAGE - right after op code
|
| - 1, // DRAW_IMAGE_RECT - right after op code
|
| + 1, // DRAW_IMAGE_RECT_STRICT - right after op code
|
| 1, // DRAW_ATLAS - right after op code
|
| 1, // DRAW_IMAGE_NINE - right after op code
|
| + 1, // DRAW_IMAGE_RECT - right after op code
|
| };
|
|
|
| SK_COMPILE_ASSERT(sizeof(gPaintOffsets) == LAST_DRAWTYPE_ENUM + 1,
|
| @@ -551,7 +552,8 @@ void SkPictureRecord::onDrawBitmap(const SkBitmap& bitmap, SkScalar left, SkScal
|
| }
|
|
|
| void SkPictureRecord::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst,
|
| - const SkPaint* paint, DrawBitmapRectFlags flags) {
|
| + const SkPaint* paint,
|
| + SK_VIRTUAL_CONSTRAINT_TYPE constraint) {
|
| // id + paint index + bitmap index + bool for 'src' + flags
|
| size_t size = 5 * kUInt32Size;
|
| if (src) {
|
| @@ -559,14 +561,13 @@ void SkPictureRecord::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src
|
| }
|
| size += sizeof(dst); // + rect
|
|
|
| - size_t initialOffset = this->addDraw(DRAW_BITMAP_RECT_TO_RECT, &size);
|
| - SkASSERT(initialOffset+get_paint_offset(DRAW_BITMAP_RECT_TO_RECT, size)
|
| - == fWriter.bytesWritten());
|
| + size_t initialOffset = this->addDraw(DRAW_BITMAP_RECT, &size);
|
| + SkASSERT(initialOffset+get_paint_offset(DRAW_BITMAP_RECT, size) == fWriter.bytesWritten());
|
| this->addPaintPtr(paint);
|
| this->addBitmap(bitmap);
|
| this->addRectPtr(src); // may be null
|
| this->addRect(dst);
|
| - this->addInt(flags);
|
| + this->addInt(constraint);
|
| this->validate(initialOffset, size);
|
| }
|
|
|
| @@ -584,9 +585,10 @@ void SkPictureRecord::onDrawImage(const SkImage* image, SkScalar x, SkScalar y,
|
| }
|
|
|
| void SkPictureRecord::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst,
|
| - const SkPaint* paint) {
|
| - // id + paint_index + image_index + bool_for_src
|
| - size_t size = 4 * kUInt32Size;
|
| + const SkPaint* paint SRC_RECT_CONSTRAINT_PARAM(constraint)) {
|
| + SRC_RECT_CONSTRAINT_LOCAL_DEFAULT(constraint)
|
| + // id + paint_index + image_index + bool_for_src + constraint
|
| + size_t size = 5 * kUInt32Size;
|
| if (src) {
|
| size += sizeof(*src); // + rect
|
| }
|
| @@ -599,6 +601,7 @@ void SkPictureRecord::onDrawImageRect(const SkImage* image, const SkRect* src, c
|
| this->addImage(image);
|
| this->addRectPtr(src); // may be null
|
| this->addRect(dst);
|
| + this->addInt(constraint);
|
| this->validate(initialOffset, size);
|
| }
|
|
|
|
|