OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 | 8 |
9 #ifndef SKDRAWCOMMAND_H_ | 9 #ifndef SKDRAWCOMMAND_H_ |
10 #define SKDRAWCOMMAND_H_ | 10 #define SKDRAWCOMMAND_H_ |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 private: | 51 private: |
52 bool fVisible; | 52 bool fVisible; |
53 }; | 53 }; |
54 | 54 |
55 class Restore : public SkDrawCommand { | 55 class Restore : public SkDrawCommand { |
56 public: | 56 public: |
57 Restore(); | 57 Restore(); |
58 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 58 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
59 virtual void trackSaveState(int* state) SK_OVERRIDE; | 59 virtual void trackSaveState(int* state) SK_OVERRIDE; |
| 60 |
| 61 private: |
| 62 typedef SkDrawCommand INHERITED; |
60 }; | 63 }; |
61 | 64 |
62 class Clear : public SkDrawCommand { | 65 class Clear : public SkDrawCommand { |
63 public: | 66 public: |
64 Clear(SkColor color); | 67 Clear(SkColor color); |
65 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 68 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
66 private: | 69 private: |
67 SkColor fColor; | 70 SkColor fColor; |
| 71 |
| 72 typedef SkDrawCommand INHERITED; |
68 }; | 73 }; |
69 | 74 |
70 class ClipPath : public SkDrawCommand { | 75 class ClipPath : public SkDrawCommand { |
71 public: | 76 public: |
72 ClipPath(const SkPath& path, SkRegion::Op op, bool doAA, SkBitmap& bitmap); | 77 ClipPath(const SkPath& path, SkRegion::Op op, bool doAA, SkBitmap& bitmap); |
73 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 78 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
74 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 79 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
75 private: | 80 private: |
76 SkPath fPath; | 81 SkPath fPath; |
77 SkRegion::Op fOp; | 82 SkRegion::Op fOp; |
78 bool fDoAA; | 83 bool fDoAA; |
79 SkBitmap fBitmap; | 84 SkBitmap fBitmap; |
80 | 85 |
81 typedef SkDrawCommand INHERITED; | 86 typedef SkDrawCommand INHERITED; |
82 }; | 87 }; |
83 | 88 |
84 class ClipRegion : public SkDrawCommand { | 89 class ClipRegion : public SkDrawCommand { |
85 public: | 90 public: |
86 ClipRegion(const SkRegion& region, SkRegion::Op op); | 91 ClipRegion(const SkRegion& region, SkRegion::Op op); |
87 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 92 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
88 private: | 93 private: |
89 const SkRegion* fRegion; | 94 SkRegion fRegion; |
90 SkRegion::Op fOp; | 95 SkRegion::Op fOp; |
| 96 |
| 97 typedef SkDrawCommand INHERITED; |
91 }; | 98 }; |
92 | 99 |
93 class ClipRect : public SkDrawCommand { | 100 class ClipRect : public SkDrawCommand { |
94 public: | 101 public: |
95 ClipRect(const SkRect& rect, SkRegion::Op op, bool doAA); | 102 ClipRect(const SkRect& rect, SkRegion::Op op, bool doAA); |
96 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 103 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
97 | 104 |
98 const SkRect& rect() const { return fRect; } | 105 const SkRect& rect() const { return fRect; } |
99 SkRegion::Op op() const { return fOp; } | 106 SkRegion::Op op() const { return fOp; } |
100 bool doAA() const { return fDoAA; } | 107 bool doAA() const { return fDoAA; } |
(...skipping 21 matching lines...) Expand all Loading... |
122 bool fDoAA; | 129 bool fDoAA; |
123 | 130 |
124 typedef SkDrawCommand INHERITED; | 131 typedef SkDrawCommand INHERITED; |
125 }; | 132 }; |
126 | 133 |
127 class Concat : public SkDrawCommand { | 134 class Concat : public SkDrawCommand { |
128 public: | 135 public: |
129 Concat(const SkMatrix& matrix); | 136 Concat(const SkMatrix& matrix); |
130 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 137 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
131 private: | 138 private: |
132 const SkMatrix* fMatrix; | 139 SkMatrix fMatrix; |
| 140 |
| 141 typedef SkDrawCommand INHERITED; |
133 }; | 142 }; |
134 | 143 |
135 class DrawBitmap : public SkDrawCommand { | 144 class DrawBitmap : public SkDrawCommand { |
136 public: | 145 public: |
137 DrawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, | 146 DrawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, |
138 const SkPaint* paint, SkBitmap& resizedBitmap); | 147 const SkPaint* paint, SkBitmap& resizedBitmap); |
139 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 148 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
140 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 149 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
141 private: | 150 private: |
142 const SkPaint* fPaint; | 151 SkBitmap fBitmap; |
143 const SkBitmap* fBitmap; | |
144 SkScalar fLeft; | 152 SkScalar fLeft; |
145 SkScalar fTop; | 153 SkScalar fTop; |
| 154 SkPaint fPaint; |
| 155 SkPaint* fPaintPtr; |
146 SkBitmap fResizedBitmap; | 156 SkBitmap fResizedBitmap; |
| 157 |
| 158 typedef SkDrawCommand INHERITED; |
147 }; | 159 }; |
148 | 160 |
149 class DrawBitmapMatrix : public SkDrawCommand { | 161 class DrawBitmapMatrix : public SkDrawCommand { |
150 public: | 162 public: |
151 DrawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& matrix, | 163 DrawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& matrix, |
152 const SkPaint* paint, SkBitmap& resizedBitmap); | 164 const SkPaint* paint, SkBitmap& resizedBitmap); |
153 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 165 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
154 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 166 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
155 private: | 167 private: |
156 const SkPaint* fPaint; | 168 SkBitmap fBitmap; |
157 const SkBitmap* fBitmap; | 169 SkMatrix fMatrix; |
158 const SkMatrix* fMatrix; | 170 SkPaint fPaint; |
| 171 SkPaint* fPaintPtr; |
159 SkBitmap fResizedBitmap; | 172 SkBitmap fResizedBitmap; |
| 173 |
| 174 typedef SkDrawCommand INHERITED; |
160 }; | 175 }; |
161 | 176 |
162 class DrawBitmapNine : public SkDrawCommand { | 177 class DrawBitmapNine : public SkDrawCommand { |
163 public: | 178 public: |
164 DrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, | 179 DrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, |
165 const SkRect& dst, const SkPaint* paint, SkBitmap& resizedBitmap); | 180 const SkRect& dst, const SkPaint* paint, |
| 181 SkBitmap& resizedBitmap); |
166 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 182 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
167 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 183 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
168 private: | 184 private: |
169 const SkBitmap* fBitmap; | 185 SkBitmap fBitmap; |
170 const SkIRect* fCenter; | 186 SkIRect fCenter; |
171 const SkRect* fDst; | 187 SkRect fDst; |
172 const SkPaint* fPaint; | 188 SkPaint fPaint; |
| 189 SkPaint* fPaintPtr; |
173 SkBitmap fResizedBitmap; | 190 SkBitmap fResizedBitmap; |
| 191 |
| 192 typedef SkDrawCommand INHERITED; |
174 }; | 193 }; |
175 | 194 |
176 class DrawBitmapRect : public SkDrawCommand { | 195 class DrawBitmapRect : public SkDrawCommand { |
177 public: | 196 public: |
178 DrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, | 197 DrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, |
179 const SkRect& dst, const SkPaint* paint, | 198 const SkRect& dst, const SkPaint* paint, |
180 SkBitmap& resizedBitmap); | 199 SkBitmap& resizedBitmap); |
181 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 200 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
182 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 201 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
183 | 202 |
184 // The non-const 'paint' method allows modification of this object's | 203 // The non-const 'paint' method allows modification of this object's |
185 // SkPaint. For this reason the ctor and setPaint method make a local copy. | 204 // SkPaint. For this reason the ctor and setPaint method make a local copy. |
186 // The 'fPaintPtr' member acts a signal that the local SkPaint is valid | 205 // The 'fPaintPtr' member acts a signal that the local SkPaint is valid |
187 // (since only an SkPaint* is passed into the ctor). | 206 // (since only an SkPaint* is passed into the ctor). |
188 const SkPaint* paint() const { return fPaintPtr; } | 207 const SkPaint* paint() const { return fPaintPtr; } |
189 SkPaint* paint() { return fPaintPtr; } | 208 SkPaint* paint() { return fPaintPtr; } |
190 | 209 |
191 void setPaint(const SkPaint& paint) { fPaint = paint; fPaintPtr = &fPaint; } | 210 void setPaint(const SkPaint& paint) { fPaint = paint; fPaintPtr = &fPaint; } |
192 | 211 |
193 const SkRect* srcRect() const { return fSrc.isEmpty() ? NULL : &fSrc; } | 212 const SkRect* srcRect() const { return fSrc.isEmpty() ? NULL : &fSrc; } |
194 const SkRect& dstRect() const { return fDst; } | 213 const SkRect& dstRect() const { return fDst; } |
195 | 214 |
196 private: | 215 private: |
197 SkRect fSrc; | 216 SkBitmap fBitmap; |
198 SkPaint fPaint; | 217 SkRect fSrc; |
| 218 SkRect fDst; |
| 219 SkPaint fPaint; |
199 SkPaint* fPaintPtr; | 220 SkPaint* fPaintPtr; |
200 SkBitmap fBitmap; | |
201 SkRect fDst; | |
202 SkBitmap fResizedBitmap; | 221 SkBitmap fResizedBitmap; |
203 | 222 |
204 typedef SkDrawCommand INHERITED; | 223 typedef SkDrawCommand INHERITED; |
205 }; | 224 }; |
206 | 225 |
207 class DrawData : public SkDrawCommand { | 226 class DrawData : public SkDrawCommand { |
208 public: | 227 public: |
209 DrawData(const void* data, size_t length); | 228 DrawData(const void* data, size_t length); |
210 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 229 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
211 private: | 230 private: |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 SkScalar fDegrees; | 413 SkScalar fDegrees; |
395 }; | 414 }; |
396 | 415 |
397 class Save : public SkDrawCommand { | 416 class Save : public SkDrawCommand { |
398 public: | 417 public: |
399 Save(SkCanvas::SaveFlags flags); | 418 Save(SkCanvas::SaveFlags flags); |
400 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 419 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
401 virtual void trackSaveState(int* state) SK_OVERRIDE; | 420 virtual void trackSaveState(int* state) SK_OVERRIDE; |
402 private: | 421 private: |
403 SkCanvas::SaveFlags fFlags; | 422 SkCanvas::SaveFlags fFlags; |
| 423 |
| 424 typedef SkDrawCommand INHERITED; |
404 }; | 425 }; |
405 | 426 |
406 class SaveLayer : public SkDrawCommand { | 427 class SaveLayer : public SkDrawCommand { |
407 public: | 428 public: |
408 SaveLayer(const SkRect* bounds, const SkPaint* paint, | 429 SaveLayer(const SkRect* bounds, const SkPaint* paint, |
409 SkCanvas::SaveFlags flags); | 430 SkCanvas::SaveFlags flags); |
410 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 431 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
411 virtual void trackSaveState(int* state) SK_OVERRIDE; | 432 virtual void trackSaveState(int* state) SK_OVERRIDE; |
412 | 433 |
413 const SkPaint* paint() const { return fPaint; } | 434 const SkPaint* paint() const { return fPaintPtr; } |
414 | 435 |
415 private: | 436 private: |
416 const SkRect* fBounds; | 437 SkRect fBounds; |
417 const SkPaint* fPaint; | 438 SkPaint fPaint; |
| 439 SkPaint* fPaintPtr; |
418 SkCanvas::SaveFlags fFlags; | 440 SkCanvas::SaveFlags fFlags; |
| 441 |
| 442 typedef SkDrawCommand INHERITED; |
419 }; | 443 }; |
420 | 444 |
421 class Scale : public SkDrawCommand { | 445 class Scale : public SkDrawCommand { |
422 public: | 446 public: |
423 Scale(SkScalar sx, SkScalar sy); | 447 Scale(SkScalar sx, SkScalar sy); |
424 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 448 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
425 | 449 |
426 SkScalar x() const { return fSx; } | 450 SkScalar x() const { return fSx; } |
427 SkScalar y() const { return fSy; } | 451 SkScalar y() const { return fSy; } |
428 | 452 |
(...skipping 26 matching lines...) Expand all Loading... |
455 | 479 |
456 SkScalar x() const { return fDx; } | 480 SkScalar x() const { return fDx; } |
457 SkScalar y() const { return fDy; } | 481 SkScalar y() const { return fDy; } |
458 | 482 |
459 private: | 483 private: |
460 SkScalar fDx; | 484 SkScalar fDx; |
461 SkScalar fDy; | 485 SkScalar fDy; |
462 }; | 486 }; |
463 | 487 |
464 #endif | 488 #endif |
OLD | NEW |