OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 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 #include "SkPictureRecord.h" | 8 #include "SkPictureRecord.h" |
9 #include "SkTSearch.h" | 9 #include "SkTSearch.h" |
10 #include "SkPixelRef.h" | 10 #include "SkPixelRef.h" |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 | 393 |
394 SkAutoTDelete<SkPaint> dbmPaint(paintDict->unflatten(dbmPaintId)); | 394 SkAutoTDelete<SkPaint> dbmPaint(paintDict->unflatten(dbmPaintId)); |
395 if (NULL == dbmPaint.get() || dbmPaint->getColor() != layerColor) { | 395 if (NULL == dbmPaint.get() || dbmPaint->getColor() != layerColor) { |
396 return false; | 396 return false; |
397 } | 397 } |
398 | 398 |
399 SkColor newColor = SkColorSetA(dbmPaint->getColor(), | 399 SkColor newColor = SkColorSetA(dbmPaint->getColor(), |
400 SkColorGetA(saveLayerPaint->getColor())); | 400 SkColorGetA(saveLayerPaint->getColor())); |
401 dbmPaint->setColor(newColor); | 401 dbmPaint->setColor(newColor); |
402 | 402 |
403 const SkFlatData* data = paintDict->findAndReturnFlat(*dbmPaint); | 403 const int paintIndex = paintDict->find(*dbmPaint); |
404 if (NULL == data) { | |
405 return false; | |
406 } | |
407 | 404 |
408 // kill the saveLayer and alter the DBMR2R's paint to be the modified one | 405 // kill the saveLayer and alter the DBMR2R's paint to be the modified one |
409 convert_command_to_noop(writer, saveLayerInfo.fOffset); | 406 convert_command_to_noop(writer, saveLayerInfo.fOffset); |
410 uint32_t* ptr = writer->peek32(dbmInfo.fOffset+dbmPaintOffset); | 407 uint32_t* ptr = writer->peek32(dbmInfo.fOffset+dbmPaintOffset); |
411 SkASSERT(dbmPaintId == *ptr); | 408 SkASSERT(dbmPaintId == *ptr); |
412 *ptr = data->index(); | 409 *ptr = paintIndex; |
413 return true; | 410 return true; |
414 } | 411 } |
415 | 412 |
416 /* | 413 /* |
417 * Restore has just been called (but not recorded), look back at the | 414 * Restore has just been called (but not recorded), look back at the |
418 * matching save* and see if we are in the configuration: | 415 * matching save* and see if we are in the configuration: |
419 * SAVE_LAYER (with NULL == bounds) | 416 * SAVE_LAYER (with NULL == bounds) |
420 * SAVE | 417 * SAVE |
421 * CLIP_RECT | 418 * CLIP_RECT |
422 * DRAW_BITMAP|DRAW_BITMAP_MATRIX|DRAW_BITMAP_NINE|DRAW_BITMAP_RECT_TO_R
ECT | 419 * DRAW_BITMAP|DRAW_BITMAP_MATRIX|DRAW_BITMAP_NINE|DRAW_BITMAP_RECT_TO_R
ECT |
(...skipping 1049 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1472 void SkPictureRecord::validateRegions() const { | 1469 void SkPictureRecord::validateRegions() const { |
1473 int count = fRegions.count(); | 1470 int count = fRegions.count(); |
1474 SkASSERT((unsigned) count < 0x1000); | 1471 SkASSERT((unsigned) count < 0x1000); |
1475 for (int index = 0; index < count; index++) { | 1472 for (int index = 0; index < count; index++) { |
1476 const SkFlatData* region = fRegions[index]; | 1473 const SkFlatData* region = fRegions[index]; |
1477 SkASSERT(region); | 1474 SkASSERT(region); |
1478 // region->validate(); | 1475 // region->validate(); |
1479 } | 1476 } |
1480 } | 1477 } |
1481 #endif | 1478 #endif |
OLD | NEW |