| 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 "SkPicturePlayback.h" | 8 #include "SkPicturePlayback.h" |
| 9 #include "SkPictureRecord.h" | 9 #include "SkPictureRecord.h" |
| 10 #include "SkTypeface.h" | 10 #include "SkTypeface.h" |
| (...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 } break; | 1018 } break; |
| 1019 case DRAW_TEXT_ON_PATH: { | 1019 case DRAW_TEXT_ON_PATH: { |
| 1020 const SkPaint& paint = *getPaint(reader); | 1020 const SkPaint& paint = *getPaint(reader); |
| 1021 getText(reader, &text); | 1021 getText(reader, &text); |
| 1022 const SkPath& path = getPath(reader); | 1022 const SkPath& path = getPath(reader); |
| 1023 const SkMatrix* matrix = getMatrix(reader); | 1023 const SkMatrix* matrix = getMatrix(reader); |
| 1024 canvas.drawTextOnPath(text.text(), text.length(), path, | 1024 canvas.drawTextOnPath(text.text(), text.length(), path, |
| 1025 matrix, paint); | 1025 matrix, paint); |
| 1026 } break; | 1026 } break; |
| 1027 case DRAW_VERTICES: { | 1027 case DRAW_VERTICES: { |
| 1028 SkAutoTUnref<SkXfermode> xfer; |
| 1028 const SkPaint& paint = *getPaint(reader); | 1029 const SkPaint& paint = *getPaint(reader); |
| 1029 DrawVertexFlags flags = (DrawVertexFlags)reader.readInt(); | 1030 DrawVertexFlags flags = (DrawVertexFlags)reader.readInt(); |
| 1030 SkCanvas::VertexMode vmode = (SkCanvas::VertexMode)reader.readIn
t(); | 1031 SkCanvas::VertexMode vmode = (SkCanvas::VertexMode)reader.readIn
t(); |
| 1031 int vCount = reader.readInt(); | 1032 int vCount = reader.readInt(); |
| 1032 const SkPoint* verts = (const SkPoint*)reader.skip( | 1033 const SkPoint* verts = (const SkPoint*)reader.skip( |
| 1033 vCount * sizeof(SkPoint)); | 1034 vCount * sizeof(SkPoint)); |
| 1034 const SkPoint* texs = NULL; | 1035 const SkPoint* texs = NULL; |
| 1035 const SkColor* colors = NULL; | 1036 const SkColor* colors = NULL; |
| 1036 const uint16_t* indices = NULL; | 1037 const uint16_t* indices = NULL; |
| 1037 int iCount = 0; | 1038 int iCount = 0; |
| 1038 if (flags & DRAW_VERTICES_HAS_TEXS) { | 1039 if (flags & DRAW_VERTICES_HAS_TEXS) { |
| 1039 texs = (const SkPoint*)reader.skip( | 1040 texs = (const SkPoint*)reader.skip( |
| 1040 vCount * sizeof(SkPoint)); | 1041 vCount * sizeof(SkPoint)); |
| 1041 } | 1042 } |
| 1042 if (flags & DRAW_VERTICES_HAS_COLORS) { | 1043 if (flags & DRAW_VERTICES_HAS_COLORS) { |
| 1043 colors = (const SkColor*)reader.skip( | 1044 colors = (const SkColor*)reader.skip( |
| 1044 vCount * sizeof(SkColor)); | 1045 vCount * sizeof(SkColor)); |
| 1045 } | 1046 } |
| 1046 if (flags & DRAW_VERTICES_HAS_INDICES) { | 1047 if (flags & DRAW_VERTICES_HAS_INDICES) { |
| 1047 iCount = reader.readInt(); | 1048 iCount = reader.readInt(); |
| 1048 indices = (const uint16_t*)reader.skip( | 1049 indices = (const uint16_t*)reader.skip( |
| 1049 iCount * sizeof(uint16_t)); | 1050 iCount * sizeof(uint16_t)); |
| 1050 } | 1051 } |
| 1051 canvas.drawVertices(vmode, vCount, verts, texs, colors, NULL, | 1052 if (flags & DRAW_VERTICES_HAS_XFER) { |
| 1053 int mode = reader.readInt(); |
| 1054 if (mode < 0 || mode > SkXfermode::kLastMode) { |
| 1055 mode = SkXfermode::kModulate_Mode; |
| 1056 } |
| 1057 xfer.reset(SkXfermode::Create((SkXfermode::Mode)mode)); |
| 1058 } |
| 1059 canvas.drawVertices(vmode, vCount, verts, texs, colors, xfer, |
| 1052 indices, iCount, paint); | 1060 indices, iCount, paint); |
| 1053 } break; | 1061 } break; |
| 1054 case RESTORE: | 1062 case RESTORE: |
| 1055 canvas.restore(); | 1063 canvas.restore(); |
| 1056 break; | 1064 break; |
| 1057 case ROTATE: | 1065 case ROTATE: |
| 1058 canvas.rotate(reader.readScalar()); | 1066 canvas.rotate(reader.readScalar()); |
| 1059 break; | 1067 break; |
| 1060 case SAVE: | 1068 case SAVE: |
| 1061 canvas.save((SkCanvas::SaveFlags) reader.readInt()); | 1069 canvas.save((SkCanvas::SaveFlags) reader.readInt()); |
| (...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1659 for (index = 0; index < fRegionCount; index++) | 1667 for (index = 0; index < fRegionCount; index++) |
| 1660 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), | 1668 bufferPtr += snprintf(bufferPtr, DUMP_BUFFER_SIZE - (bufferPtr - pBuffer
), |
| 1661 "region%p, ", &fRegions[index]); | 1669 "region%p, ", &fRegions[index]); |
| 1662 if (fRegionCount > 0) | 1670 if (fRegionCount > 0) |
| 1663 SkDebugf("%s0};\n", pBuffer); | 1671 SkDebugf("%s0};\n", pBuffer); |
| 1664 | 1672 |
| 1665 const_cast<SkPicturePlayback*>(this)->dumpStream(); | 1673 const_cast<SkPicturePlayback*>(this)->dumpStream(); |
| 1666 } | 1674 } |
| 1667 | 1675 |
| 1668 #endif | 1676 #endif |
| OLD | NEW |