OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
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 #include <new> | 7 #include <new> |
8 #include "SkBBoxHierarchy.h" | 8 #include "SkBBoxHierarchy.h" |
9 #include "SkPicturePlayback.h" | 9 #include "SkPicturePlayback.h" |
10 #include "SkPictureRecord.h" | 10 #include "SkPictureRecord.h" |
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 activeOps = &((const CachedOperationList&)activeOpsList).fOps; | 844 activeOps = &((const CachedOperationList&)activeOpsList).fOps; |
845 } | 845 } |
846 } | 846 } |
847 } | 847 } |
848 | 848 |
849 SkPictureStateTree::Iterator it = (NULL == activeOps) ? | 849 SkPictureStateTree::Iterator it = (NULL == activeOps) ? |
850 SkPictureStateTree::Iterator() : | 850 SkPictureStateTree::Iterator() : |
851 fStateTree->getIterator(*activeOps, &canvas); | 851 fStateTree->getIterator(*activeOps, &canvas); |
852 | 852 |
853 if (it.isValid()) { | 853 if (it.isValid()) { |
854 uint32_t skipTo = it.draw(); | 854 uint32_t skipTo = it.nextDraw(); |
855 if (kDrawComplete == skipTo) { | 855 if (kDrawComplete == skipTo) { |
856 return; | 856 return; |
857 } | 857 } |
858 reader.setOffset(skipTo); | 858 reader.setOffset(skipTo); |
859 } | 859 } |
860 | 860 |
861 // Record this, so we can concat w/ it if we encounter a setMatrix() | 861 // Record this, so we can concat w/ it if we encounter a setMatrix() |
862 SkMatrix initialMatrix = canvas.getTotalMatrix(); | 862 SkMatrix initialMatrix = canvas.getTotalMatrix(); |
863 int originalSaveCount = canvas.getSaveCount(); | 863 int originalSaveCount = canvas.getSaveCount(); |
864 | 864 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
900 } | 900 } |
901 #endif | 901 #endif |
902 } | 902 } |
903 | 903 |
904 if (0 != skipTo) { | 904 if (0 != skipTo) { |
905 if (it.isValid()) { | 905 if (it.isValid()) { |
906 // If using a bounding box hierarchy, advance the state tree | 906 // If using a bounding box hierarchy, advance the state tree |
907 // iterator until at or after skipTo | 907 // iterator until at or after skipTo |
908 uint32_t adjustedSkipTo; | 908 uint32_t adjustedSkipTo; |
909 do { | 909 do { |
910 adjustedSkipTo = it.draw(); | 910 adjustedSkipTo = it.nextDraw(); |
911 } while (adjustedSkipTo < skipTo); | 911 } while (adjustedSkipTo < skipTo); |
912 skipTo = adjustedSkipTo; | 912 skipTo = adjustedSkipTo; |
913 } | 913 } |
914 if (kDrawComplete == skipTo) { | 914 if (kDrawComplete == skipTo) { |
915 break; | 915 break; |
916 } | 916 } |
917 reader.setOffset(skipTo); | 917 reader.setOffset(skipTo); |
918 continue; | 918 continue; |
919 } | 919 } |
920 | 920 |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1239 } break; | 1239 } break; |
1240 default: | 1240 default: |
1241 SkASSERT(0); | 1241 SkASSERT(0); |
1242 } | 1242 } |
1243 | 1243 |
1244 #ifdef SK_DEVELOPER | 1244 #ifdef SK_DEVELOPER |
1245 this->postDraw(opIndex); | 1245 this->postDraw(opIndex); |
1246 #endif | 1246 #endif |
1247 | 1247 |
1248 if (it.isValid()) { | 1248 if (it.isValid()) { |
1249 uint32_t skipTo = it.draw(); | 1249 uint32_t skipTo = it.nextDraw(); |
1250 if (kDrawComplete == skipTo) { | 1250 if (kDrawComplete == skipTo) { |
1251 break; | 1251 break; |
1252 } | 1252 } |
1253 reader.setOffset(skipTo); | 1253 reader.setOffset(skipTo); |
1254 } | 1254 } |
1255 } | 1255 } |
1256 | 1256 |
1257 #ifdef SPEW_CLIP_SKIPPING | 1257 #ifdef SPEW_CLIP_SKIPPING |
1258 { | 1258 { |
1259 size_t size = skipRect.fSize + skipRRect.fSize + skipPath.fSize + skipR
egion.fSize + | 1259 size_t size = skipRect.fSize + skipRRect.fSize + skipPath.fSize + skipR
egion.fSize + |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1771 for (index = 0; index < fPictureCount; index++) | 1771 for (index = 0; index < fPictureCount; index++) |
1772 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), | 1772 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), |
1773 "picture%p, ", fPictureRefs[index]); | 1773 "picture%p, ", fPictureRefs[index]); |
1774 if (fPictureCount > 0) | 1774 if (fPictureCount > 0) |
1775 SkDebugf("%s0};\n", pBuffer); | 1775 SkDebugf("%s0};\n", pBuffer); |
1776 | 1776 |
1777 const_cast<SkPicturePlayback*>(this)->dumpStream(); | 1777 const_cast<SkPicturePlayback*>(this)->dumpStream(); |
1778 } | 1778 } |
1779 | 1779 |
1780 #endif | 1780 #endif |
OLD | NEW |