OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 | 7 |
8 #ifndef SkRecords_DEFINED | 8 #ifndef SkRecords_DEFINED |
9 #define SkRecords_DEFINED | 9 #define SkRecords_DEFINED |
10 | 10 |
(...skipping 29 matching lines...) Expand all Loading... |
40 // | 40 // |
41 // Order doesn't technically matter here, but the compiler can generally generat
e better code if | 41 // Order doesn't technically matter here, but the compiler can generally generat
e better code if |
42 // you keep them semantically grouped, especially the Draws. It's also nice to
leave NoOp at 0. | 42 // you keep them semantically grouped, especially the Draws. It's also nice to
leave NoOp at 0. |
43 #define SK_RECORD_TYPES(M) \ | 43 #define SK_RECORD_TYPES(M) \ |
44 M(NoOp) \ | 44 M(NoOp) \ |
45 M(Restore) \ | 45 M(Restore) \ |
46 M(Save) \ | 46 M(Save) \ |
47 M(SaveLayer) \ | 47 M(SaveLayer) \ |
48 M(PushCull) \ | 48 M(PushCull) \ |
49 M(PopCull) \ | 49 M(PopCull) \ |
50 M(PairedPushCull) /*From SkRecordAnnotateCullingPairs*/ \ | |
51 M(Concat) \ | 50 M(Concat) \ |
52 M(SetMatrix) \ | 51 M(SetMatrix) \ |
53 M(ClipPath) \ | 52 M(ClipPath) \ |
54 M(ClipRRect) \ | 53 M(ClipRRect) \ |
55 M(ClipRect) \ | 54 M(ClipRect) \ |
56 M(ClipRegion) \ | 55 M(ClipRegion) \ |
57 M(Clear) \ | 56 M(Clear) \ |
58 M(DrawBitmap) \ | 57 M(DrawBitmap) \ |
59 M(DrawBitmapMatrix) \ | 58 M(DrawBitmapMatrix) \ |
60 M(DrawBitmapNine) \ | 59 M(DrawBitmapNine) \ |
61 M(DrawBitmapRectToRect) \ | 60 M(DrawBitmapRectToRect) \ |
62 M(DrawDRRect) \ | 61 M(DrawDRRect) \ |
63 M(DrawOval) \ | 62 M(DrawOval) \ |
64 M(DrawPaint) \ | 63 M(DrawPaint) \ |
65 M(DrawPath) \ | 64 M(DrawPath) \ |
66 M(DrawPatch) \ | 65 M(DrawPatch) \ |
67 M(DrawPicture) \ | 66 M(DrawPicture) \ |
68 M(DrawPoints) \ | 67 M(DrawPoints) \ |
69 M(DrawPosText) \ | 68 M(DrawPosText) \ |
70 M(DrawPosTextH) \ | 69 M(DrawPosTextH) \ |
71 M(DrawRRect) \ | 70 M(DrawRRect) \ |
72 M(DrawRect) \ | 71 M(DrawRect) \ |
73 M(DrawSprite) \ | 72 M(DrawSprite) \ |
74 M(DrawText) \ | 73 M(DrawText) \ |
75 M(DrawTextOnPath) \ | 74 M(DrawTextOnPath) \ |
76 M(DrawVertices) \ | 75 M(DrawVertices) |
77 M(BoundedDrawPosTextH) /*From SkRecordBoundDrawPosTextH*/ | |
78 | 76 |
79 // Defines SkRecords::Type, an enum of all record types. | 77 // Defines SkRecords::Type, an enum of all record types. |
80 #define ENUM(T) T##_Type, | 78 #define ENUM(T) T##_Type, |
81 enum Type { SK_RECORD_TYPES(ENUM) }; | 79 enum Type { SK_RECORD_TYPES(ENUM) }; |
82 #undef ENUM | 80 #undef ENUM |
83 | 81 |
84 // Macros to make it easier to define a record for a draw call with 0 args, 1 ar
gs, 2 args, etc. | 82 // Macros to make it easier to define a record for a draw call with 0 args, 1 ar
gs, 2 args, etc. |
85 // These should be clearer when you look at their use below. | 83 // These should be clearer when you look at their use below. |
86 #define RECORD0(T) \ | 84 #define RECORD0(T) \ |
87 struct T { \ | 85 struct T { \ |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 SkCanvas::VertexMode vmode; | 288 SkCanvas::VertexMode vmode; |
291 int vertexCount; | 289 int vertexCount; |
292 PODArray<SkPoint> vertices; | 290 PODArray<SkPoint> vertices; |
293 PODArray<SkPoint> texs; | 291 PODArray<SkPoint> texs; |
294 PODArray<SkColor> colors; | 292 PODArray<SkColor> colors; |
295 SkAutoTUnref<SkXfermode> xmode; | 293 SkAutoTUnref<SkXfermode> xmode; |
296 PODArray<uint16_t> indices; | 294 PODArray<uint16_t> indices; |
297 int indexCount; | 295 int indexCount; |
298 }; | 296 }; |
299 | 297 |
300 // Records added by optimizations. | |
301 RECORD2(PairedPushCull, Adopted<PushCull>, base, unsigned, skip); | |
302 RECORD3(BoundedDrawPosTextH, Adopted<DrawPosTextH>, base, SkScalar, minY, SkScal
ar, maxY); | |
303 | |
304 #undef RECORD0 | 298 #undef RECORD0 |
305 #undef RECORD1 | 299 #undef RECORD1 |
306 #undef RECORD2 | 300 #undef RECORD2 |
307 #undef RECORD3 | 301 #undef RECORD3 |
308 #undef RECORD4 | 302 #undef RECORD4 |
309 #undef RECORD5 | 303 #undef RECORD5 |
310 | 304 |
311 } // namespace SkRecords | 305 } // namespace SkRecords |
312 | 306 |
313 #endif//SkRecords_DEFINED | 307 #endif//SkRecords_DEFINED |
OLD | NEW |