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 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 SkPaint fPaint; | 219 SkPaint fPaint; |
220 SkPaint* fPaintPtr; | 220 SkPaint* fPaintPtr; |
221 SkBitmap fResizedBitmap; | 221 SkBitmap fResizedBitmap; |
222 | 222 |
223 typedef SkDrawCommand INHERITED; | 223 typedef SkDrawCommand INHERITED; |
224 }; | 224 }; |
225 | 225 |
226 class DrawData : public SkDrawCommand { | 226 class DrawData : public SkDrawCommand { |
227 public: | 227 public: |
228 DrawData(const void* data, size_t length); | 228 DrawData(const void* data, size_t length); |
| 229 virtual ~DrawData() { delete [] fData; } |
229 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 230 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
230 private: | 231 private: |
231 const void* fData; | 232 void* fData; |
232 size_t fLength; | 233 size_t fLength; |
| 234 |
| 235 typedef SkDrawCommand INHERITED; |
233 }; | 236 }; |
234 | 237 |
235 class DrawOval : public SkDrawCommand { | 238 class DrawOval : public SkDrawCommand { |
236 public: | 239 public: |
237 DrawOval(const SkRect& oval, const SkPaint& paint); | 240 DrawOval(const SkRect& oval, const SkPaint& paint); |
238 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 241 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
239 private: | 242 private: |
240 SkRect fOval; | 243 SkRect fOval; |
241 SkPaint fPaint; | 244 SkPaint fPaint; |
242 | 245 |
(...skipping 10 matching lines...) Expand all Loading... |
253 typedef SkDrawCommand INHERITED; | 256 typedef SkDrawCommand INHERITED; |
254 }; | 257 }; |
255 | 258 |
256 class DrawPath : public SkDrawCommand { | 259 class DrawPath : public SkDrawCommand { |
257 public: | 260 public: |
258 DrawPath(const SkPath& path, const SkPaint& paint, SkBitmap& bitmap); | 261 DrawPath(const SkPath& path, const SkPaint& paint, SkBitmap& bitmap); |
259 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 262 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
260 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 263 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
261 | 264 |
262 private: | 265 private: |
263 SkPath fPath; | 266 SkPath fPath; |
264 SkPaint fPaint; | 267 SkPaint fPaint; |
265 SkBitmap fBitmap; | 268 SkBitmap fBitmap; |
266 | 269 |
267 typedef SkDrawCommand INHERITED; | 270 typedef SkDrawCommand INHERITED; |
268 }; | 271 }; |
269 | 272 |
270 class DrawPicture : public SkDrawCommand { | 273 class DrawPicture : public SkDrawCommand { |
271 public: | 274 public: |
272 DrawPicture(SkPicture& picture); | 275 DrawPicture(SkPicture& picture); |
273 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 276 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
274 private: | 277 private: |
275 SkPicture* fPicture; | 278 SkPicture fPicture; |
| 279 |
| 280 typedef SkDrawCommand INHERITED; |
276 }; | 281 }; |
277 | 282 |
278 class DrawPoints : public SkDrawCommand { | 283 class DrawPoints : public SkDrawCommand { |
279 public: | 284 public: |
280 DrawPoints(SkCanvas::PointMode mode, size_t count, const SkPoint pts[], | 285 DrawPoints(SkCanvas::PointMode mode, size_t count, const SkPoint pts[], |
281 const SkPaint& paint); | 286 const SkPaint& paint); |
282 virtual ~DrawPoints() { delete [] fPts; } | 287 virtual ~DrawPoints() { delete [] fPts; } |
283 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 288 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
284 | 289 |
285 private: | 290 private: |
286 SkCanvas::PointMode fMode; | 291 SkCanvas::PointMode fMode; |
287 size_t fCount; | 292 size_t fCount; |
288 SkPoint* fPts; | 293 SkPoint* fPts; |
289 SkPaint fPaint; | 294 SkPaint fPaint; |
290 | 295 |
291 typedef SkDrawCommand INHERITED; | 296 typedef SkDrawCommand INHERITED; |
292 }; | 297 }; |
293 | 298 |
294 /* TODO(chudy): DrawText is a predefined macro and was breaking something | 299 /* TODO(chudy): DrawText is a predefined macro and was breaking something |
295 * in the windows build of the debugger. | 300 * in the windows build of the debugger. |
296 */ | 301 */ |
297 class DrawTextC : public SkDrawCommand { | 302 class DrawTextC : public SkDrawCommand { |
298 public: | 303 public: |
299 DrawTextC(const void* text, size_t byteLength, SkScalar x, SkScalar y, | 304 DrawTextC(const void* text, size_t byteLength, SkScalar x, SkScalar y, |
300 const SkPaint& paint); | 305 const SkPaint& paint); |
| 306 virtual ~DrawTextC() { delete [] fText; } |
301 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 307 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
302 private: | 308 private: |
303 const void* fText; | 309 void* fText; |
304 size_t fByteLength; | 310 size_t fByteLength; |
305 SkScalar fX; | 311 SkScalar fX; |
306 SkScalar fY; | 312 SkScalar fY; |
307 const SkPaint* fPaint; | 313 SkPaint fPaint; |
| 314 |
| 315 typedef SkDrawCommand INHERITED; |
308 }; | 316 }; |
309 | 317 |
310 class DrawPosText : public SkDrawCommand { | 318 class DrawPosText : public SkDrawCommand { |
311 public: | 319 public: |
312 DrawPosText(const void* text, size_t byteLength, const SkPoint pos[], | 320 DrawPosText(const void* text, size_t byteLength, const SkPoint pos[], |
313 const SkPaint& paint); | 321 const SkPaint& paint); |
314 virtual ~DrawPosText() { delete [] fPos; delete [] fText; } | 322 virtual ~DrawPosText() { delete [] fPos; delete [] fText; } |
315 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 323 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
316 private: | 324 private: |
| 325 char* fText; |
| 326 size_t fByteLength; |
317 SkPoint* fPos; | 327 SkPoint* fPos; |
318 char* fText; | 328 SkPaint fPaint; |
319 size_t fByteLength; | 329 |
320 SkPaint fPaint; | 330 typedef SkDrawCommand INHERITED; |
321 }; | 331 }; |
322 | 332 |
323 class DrawTextOnPath : public SkDrawCommand { | 333 class DrawTextOnPath : public SkDrawCommand { |
324 public: | 334 public: |
325 DrawTextOnPath(const void* text, size_t byteLength, const SkPath& path, | 335 DrawTextOnPath(const void* text, size_t byteLength, const SkPath& path, |
326 const SkMatrix* matrix, const SkPaint& paint); | 336 const SkMatrix* matrix, const SkPaint& paint); |
| 337 virtual ~DrawTextOnPath() { delete [] fText; } |
327 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 338 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
328 private: | 339 private: |
329 const SkMatrix* fMatrix; | 340 void* fText; |
330 const void* fText; | 341 size_t fByteLength; |
331 size_t fByteLength; | 342 SkPath fPath; |
332 const SkPath* fPath; | 343 SkMatrix fMatrix; |
333 const SkPaint* fPaint; | 344 SkPaint fPaint; |
| 345 |
| 346 typedef SkDrawCommand INHERITED; |
334 }; | 347 }; |
335 | 348 |
336 class DrawPosTextH : public SkDrawCommand { | 349 class DrawPosTextH : public SkDrawCommand { |
337 public: | 350 public: |
338 DrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], | 351 DrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], |
339 SkScalar constY, const SkPaint& paint); | 352 SkScalar constY, const SkPaint& paint); |
340 virtual ~DrawPosTextH() { delete [] fXpos; delete [] fText; } | 353 virtual ~DrawPosTextH() { delete [] fXpos; delete [] fText; } |
341 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 354 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
342 private: | 355 private: |
343 SkScalar* fXpos; | 356 SkScalar* fXpos; |
344 char* fText; | 357 char* fText; |
345 size_t fByteLength; | 358 size_t fByteLength; |
346 SkScalar fConstY; | 359 SkScalar fConstY; |
347 SkPaint fPaint; | 360 SkPaint fPaint; |
348 | 361 |
349 typedef SkDrawCommand INHERITED; | 362 typedef SkDrawCommand INHERITED; |
350 }; | 363 }; |
351 | 364 |
352 class DrawRectC : public SkDrawCommand { | 365 class DrawRectC : public SkDrawCommand { |
353 public: | 366 public: |
354 DrawRectC(const SkRect& rect, const SkPaint& paint); | 367 DrawRectC(const SkRect& rect, const SkPaint& paint); |
355 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 368 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
356 | 369 |
357 const SkRect& rect() const { return fRect; } | 370 const SkRect& rect() const { return fRect; } |
358 const SkPaint& paint() const { return fPaint; } | 371 const SkPaint& paint() const { return fPaint; } |
359 private: | 372 private: |
360 SkRect fRect; | 373 SkRect fRect; |
361 SkPaint fPaint; | 374 SkPaint fPaint; |
362 | 375 |
363 typedef SkDrawCommand INHERITED; | 376 typedef SkDrawCommand INHERITED; |
364 }; | 377 }; |
365 | 378 |
366 class DrawRRect : public SkDrawCommand { | 379 class DrawRRect : public SkDrawCommand { |
367 public: | 380 public: |
368 DrawRRect(const SkRRect& rrect, const SkPaint& paint); | 381 DrawRRect(const SkRRect& rrect, const SkPaint& paint); |
369 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 382 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
370 private: | 383 private: |
371 SkRRect fRRect; | 384 SkRRect fRRect; |
372 SkPaint fPaint; | 385 SkPaint fPaint; |
| 386 |
| 387 typedef SkDrawCommand INHERITED; |
373 }; | 388 }; |
374 | 389 |
375 class DrawSprite : public SkDrawCommand { | 390 class DrawSprite : public SkDrawCommand { |
376 public: | 391 public: |
377 DrawSprite(const SkBitmap& bitmap, int left, int top, const SkPaint* paint, | 392 DrawSprite(const SkBitmap& bitmap, int left, int top, const SkPaint* paint, |
378 SkBitmap& resizedBitmap); | 393 SkBitmap& resizedBitmap); |
379 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 394 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
380 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; | 395 virtual const SkBitmap* getBitmap() const SK_OVERRIDE; |
381 private: | 396 private: |
382 const SkPaint* fPaint; | 397 SkBitmap fBitmap; |
383 int fLeft; | 398 int fLeft; |
384 int fTop; | 399 int fTop; |
385 const SkBitmap* fBitmap; | 400 SkPaint fPaint; |
| 401 SkPaint* fPaintPtr; |
386 SkBitmap fResizedBitmap; | 402 SkBitmap fResizedBitmap; |
| 403 |
| 404 typedef SkDrawCommand INHERITED; |
387 }; | 405 }; |
388 | 406 |
389 class DrawVertices : public SkDrawCommand { | 407 class DrawVertices : public SkDrawCommand { |
390 public: | 408 public: |
391 DrawVertices(SkCanvas::VertexMode vmode, int vertexCount, | 409 DrawVertices(SkCanvas::VertexMode vmode, int vertexCount, |
392 const SkPoint vertices[], const SkPoint texs[], const SkColor colors
[], | 410 const SkPoint vertices[], const SkPoint texs[], |
393 SkXfermode* xfermode, const uint16_t indices[], int indexCount, | 411 const SkColor colors[], SkXfermode* xfermode, |
394 const SkPaint& paint); | 412 const uint16_t indices[], int indexCount, |
| 413 const SkPaint& paint); |
| 414 virtual ~DrawVertices(); |
395 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 415 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
396 private: | 416 private: |
397 SkCanvas::VertexMode fVmode; | 417 SkCanvas::VertexMode fVmode; |
398 int fVertexCount; | 418 int fVertexCount; |
399 int fIndexCount; | 419 SkPoint* fVertices; |
400 const SkPoint* fVertices; | 420 SkPoint* fTexs; |
401 const SkPoint* fTexs; | 421 SkColor* fColors; |
402 const SkColor* fColors; | |
403 const uint16_t* fIndices; | |
404 SkXfermode* fXfermode; | 422 SkXfermode* fXfermode; |
405 const SkPaint* fPaint; | 423 uint16_t* fIndices; |
| 424 int fIndexCount; |
| 425 SkPaint fPaint; |
| 426 |
| 427 typedef SkDrawCommand INHERITED; |
406 }; | 428 }; |
407 | 429 |
408 class Rotate : public SkDrawCommand { | 430 class Rotate : public SkDrawCommand { |
409 public: | 431 public: |
410 Rotate(SkScalar degrees); | 432 Rotate(SkScalar degrees); |
411 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 433 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
412 private: | 434 private: |
413 SkScalar fDegrees; | 435 SkScalar fDegrees; |
| 436 |
| 437 typedef SkDrawCommand INHERITED; |
414 }; | 438 }; |
415 | 439 |
416 class Save : public SkDrawCommand { | 440 class Save : public SkDrawCommand { |
417 public: | 441 public: |
418 Save(SkCanvas::SaveFlags flags); | 442 Save(SkCanvas::SaveFlags flags); |
419 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 443 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
420 virtual void trackSaveState(int* state) SK_OVERRIDE; | 444 virtual void trackSaveState(int* state) SK_OVERRIDE; |
421 private: | 445 private: |
422 SkCanvas::SaveFlags fFlags; | 446 SkCanvas::SaveFlags fFlags; |
423 | 447 |
(...skipping 22 matching lines...) Expand all Loading... |
446 public: | 470 public: |
447 Scale(SkScalar sx, SkScalar sy); | 471 Scale(SkScalar sx, SkScalar sy); |
448 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 472 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
449 | 473 |
450 SkScalar x() const { return fSx; } | 474 SkScalar x() const { return fSx; } |
451 SkScalar y() const { return fSy; } | 475 SkScalar y() const { return fSy; } |
452 | 476 |
453 private: | 477 private: |
454 SkScalar fSx; | 478 SkScalar fSx; |
455 SkScalar fSy; | 479 SkScalar fSy; |
| 480 |
| 481 typedef SkDrawCommand INHERITED; |
456 }; | 482 }; |
457 | 483 |
458 class SetMatrix : public SkDrawCommand { | 484 class SetMatrix : public SkDrawCommand { |
459 public: | 485 public: |
460 SetMatrix(const SkMatrix& matrix); | 486 SetMatrix(const SkMatrix& matrix); |
461 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 487 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
462 private: | 488 private: |
463 SkMatrix fMatrix; | 489 SkMatrix fMatrix; |
| 490 |
| 491 typedef SkDrawCommand INHERITED; |
464 }; | 492 }; |
465 | 493 |
466 class Skew : public SkDrawCommand { | 494 class Skew : public SkDrawCommand { |
467 public: | 495 public: |
468 Skew(SkScalar sx, SkScalar sy); | 496 Skew(SkScalar sx, SkScalar sy); |
469 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 497 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
470 private: | 498 private: |
471 SkScalar fSx; | 499 SkScalar fSx; |
472 SkScalar fSy; | 500 SkScalar fSy; |
| 501 |
| 502 typedef SkDrawCommand INHERITED; |
473 }; | 503 }; |
474 | 504 |
475 class Translate : public SkDrawCommand { | 505 class Translate : public SkDrawCommand { |
476 public: | 506 public: |
477 Translate(SkScalar dx, SkScalar dy); | 507 Translate(SkScalar dx, SkScalar dy); |
478 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; | 508 virtual void execute(SkCanvas* canvas) SK_OVERRIDE; |
479 | 509 |
480 SkScalar x() const { return fDx; } | 510 SkScalar x() const { return fDx; } |
481 SkScalar y() const { return fDy; } | 511 SkScalar y() const { return fDy; } |
482 | 512 |
483 private: | 513 private: |
484 SkScalar fDx; | 514 SkScalar fDx; |
485 SkScalar fDy; | 515 SkScalar fDy; |
| 516 |
| 517 typedef SkDrawCommand INHERITED; |
486 }; | 518 }; |
487 | 519 |
488 #endif | 520 #endif |
OLD | NEW |