| 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 |