| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2010 Google Inc. | 3 * Copyright 2010 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 | 9 |
| 10 #ifndef GrContext_DEFINED | 10 #ifndef GrContext_DEFINED |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 * @param matrix Optional matrix applied to the rect. Applied before | 383 * @param matrix Optional matrix applied to the rect. Applied before |
| 384 * context's matrix or the paint's matrix. | 384 * context's matrix or the paint's matrix. |
| 385 * The rects coords are used to access the paint (through texture matrix) | 385 * The rects coords are used to access the paint (through texture matrix) |
| 386 */ | 386 */ |
| 387 void drawRect(const GrPaint& paint, | 387 void drawRect(const GrPaint& paint, |
| 388 const GrRect&, | 388 const GrRect&, |
| 389 SkScalar strokeWidth = -1, | 389 SkScalar strokeWidth = -1, |
| 390 const SkMatrix* matrix = NULL); | 390 const SkMatrix* matrix = NULL); |
| 391 | 391 |
| 392 /** | 392 /** |
| 393 * Maps a rect of paint coordinates onto the a rect of destination | 393 * Maps a rect of local coordinates onto the a rect of destination |
| 394 * coordinates. Each rect can optionally be transformed. The srcRect | 394 * coordinates. Each rect can optionally be transformed. The localRect |
| 395 * is stretched over the dstRect. The dstRect is transformed by the | 395 * is stretched over the dstRect. The dstRect is transformed by the |
| 396 * context's matrix and the srcRect is transformed by the paint's matrix. | 396 * context's matrix. Additional optional matrices for both rects can be |
| 397 * Additional optional matrices can be provided by parameters. | 397 * provided by parameters. |
| 398 * | 398 * |
| 399 * @param paint describes how to color pixels. | 399 * @param paint describes how to color pixels. |
| 400 * @param dstRect the destination rect to draw. | 400 * @param dstRect the destination rect to draw. |
| 401 * @param srcRect rect of paint coordinates to be mapped onto dstRect | 401 * @param localRect rect of local coordinates to be mapped onto dstRect |
| 402 * @param dstMatrix Optional matrix to transform dstRect. Applied before | 402 * @param dstMatrix Optional matrix to transform dstRect. Applied before
context's matrix. |
| 403 * context's matrix. | 403 * @param localMatrix Optional matrix to transform localRect. |
| 404 * @param srcMatrix Optional matrix to transform srcRect Applied before | |
| 405 * paint's matrix. | |
| 406 */ | 404 */ |
| 407 void drawRectToRect(const GrPaint& paint, | 405 void drawRectToRect(const GrPaint& paint, |
| 408 const GrRect& dstRect, | 406 const GrRect& dstRect, |
| 409 const GrRect& srcRect, | 407 const GrRect& localRect, |
| 410 const SkMatrix* dstMatrix = NULL, | 408 const SkMatrix* dstMatrix = NULL, |
| 411 const SkMatrix* srcMatrix = NULL); | 409 const SkMatrix* localMatrix = NULL); |
| 412 | 410 |
| 413 /** | 411 /** |
| 414 * Draws a path. | 412 * Draws a path. |
| 415 * | 413 * |
| 416 * @param paint describes how to color pixels. | 414 * @param paint describes how to color pixels. |
| 417 * @param path the path to draw | 415 * @param path the path to draw |
| 418 * @param stroke the stroke information (width, join, cap) | 416 * @param stroke the stroke information (width, join, cap) |
| 419 */ | 417 */ |
| 420 void drawPath(const GrPaint& paint, const SkPath& path, const SkStrokeRec& s
troke); | 418 void drawPath(const GrPaint& paint, const SkPath& path, const SkStrokeRec& s
troke); |
| 421 | 419 |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 /** | 690 /** |
| 693 * Sets the context's matrix to identity. Returns false if the inverse m
atrix is required to | 691 * Sets the context's matrix to identity. Returns false if the inverse m
atrix is required to |
| 694 * update a paint but the matrix cannot be inverted. | 692 * update a paint but the matrix cannot be inverted. |
| 695 */ | 693 */ |
| 696 bool setIdentity(GrContext* context, GrPaint* paint = NULL) { | 694 bool setIdentity(GrContext* context, GrPaint* paint = NULL) { |
| 697 GrAssert(NULL != context); | 695 GrAssert(NULL != context); |
| 698 | 696 |
| 699 this->restore(); | 697 this->restore(); |
| 700 | 698 |
| 701 if (NULL != paint) { | 699 if (NULL != paint) { |
| 702 if (!paint->sourceCoordChangeByInverse(context->getMatrix())) { | 700 if (!paint->localCoordChangeInverse(context->getMatrix())) { |
| 703 return false; | 701 return false; |
| 704 } | 702 } |
| 705 } | 703 } |
| 706 fMatrix = context->getMatrix(); | 704 fMatrix = context->getMatrix(); |
| 707 fContext = context; | 705 fContext = context; |
| 708 context->setIdentityMatrix(); | 706 context->setIdentityMatrix(); |
| 709 return true; | 707 return true; |
| 710 } | 708 } |
| 711 | 709 |
| 712 /** | 710 /** |
| (...skipping 17 matching lines...) Expand all Loading... |
| 730 | 728 |
| 731 /** | 729 /** |
| 732 * If this has been initialized then the context's matrix will be furthe
r updated by | 730 * If this has been initialized then the context's matrix will be furthe
r updated by |
| 733 * pre-concat'ing the preConcat param. The matrix that will be restored
remains unchanged. | 731 * pre-concat'ing the preConcat param. The matrix that will be restored
remains unchanged. |
| 734 * The paint is assumed to be relative to the context's matrix at the ti
me this call is | 732 * The paint is assumed to be relative to the context's matrix at the ti
me this call is |
| 735 * made, not the matrix at the time AutoMatrix was first initialized. In
other words, this | 733 * made, not the matrix at the time AutoMatrix was first initialized. In
other words, this |
| 736 * performs an incremental update of the paint. | 734 * performs an incremental update of the paint. |
| 737 */ | 735 */ |
| 738 void preConcat(const SkMatrix& preConcat, GrPaint* paint = NULL) { | 736 void preConcat(const SkMatrix& preConcat, GrPaint* paint = NULL) { |
| 739 if (NULL != paint) { | 737 if (NULL != paint) { |
| 740 paint->sourceCoordChange(preConcat); | 738 paint->localCoordChange(preConcat); |
| 741 } | 739 } |
| 742 fContext->concatMatrix(preConcat); | 740 fContext->concatMatrix(preConcat); |
| 743 } | 741 } |
| 744 | 742 |
| 745 /** | 743 /** |
| 746 * Returns false if never initialized or the inverse matrix was required
to update a paint | 744 * Returns false if never initialized or the inverse matrix was required
to update a paint |
| 747 * but the matrix could not be inverted. | 745 * but the matrix could not be inverted. |
| 748 */ | 746 */ |
| 749 bool succeeded() const { return NULL != fContext; } | 747 bool succeeded() const { return NULL != fContext; } |
| 750 | 748 |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1003 } | 1001 } |
| 1004 | 1002 |
| 1005 GrTexture* texture() { return fTexture; } | 1003 GrTexture* texture() { return fTexture; } |
| 1006 | 1004 |
| 1007 private: | 1005 private: |
| 1008 GrContext* fContext; | 1006 GrContext* fContext; |
| 1009 GrTexture* fTexture; | 1007 GrTexture* fTexture; |
| 1010 }; | 1008 }; |
| 1011 | 1009 |
| 1012 #endif | 1010 #endif |
| OLD | NEW |