Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: include/core/SkCanvas.h

Issue 835913002: Revert of move remaining virtual draw methods to onDraw (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gyp/skia_for_chromium_defines.gypi ('k') | include/core/SkImage.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 SkCanvas_DEFINED 8 #ifndef SkCanvas_DEFINED
9 #define SkCanvas_DEFINED 9 #define SkCanvas_DEFINED
10 10
(...skipping 18 matching lines...) Expand all
29 class SkPicture; 29 class SkPicture;
30 class SkRRect; 30 class SkRRect;
31 class SkSurface; 31 class SkSurface;
32 class SkSurface_Base; 32 class SkSurface_Base;
33 class SkTextBlob; 33 class SkTextBlob;
34 class GrContext; 34 class GrContext;
35 class GrRenderTarget; 35 class GrRenderTarget;
36 36
37 class SkCanvasState; 37 class SkCanvasState;
38 38
39 #ifdef SK_SUPPORT_LEGACY_CANVAS_VIRTUAL
40 #define SK_LEGACY_CANVAS_VIRTUAL virtual
41 #else
42 #define SK_LEGACY_CANVAS_VIRTUAL
43 #endif
44
45 /** \class SkCanvas 39 /** \class SkCanvas
46 40
47 A Canvas encapsulates all of the state about drawing into a device (bitmap). 41 A Canvas encapsulates all of the state about drawing into a device (bitmap).
48 This includes a reference to the device itself, and a stack of matrix/clip 42 This includes a reference to the device itself, and a stack of matrix/clip
49 values. For any given draw call (e.g. drawRect), the geometry of the object 43 values. For any given draw call (e.g. drawRect), the geometry of the object
50 being drawn is transformed by the concatenation of all the matrices in the 44 being drawn is transformed by the concatenation of all the matrices in the
51 stack. The transformed geometry is clipped by the intersection of all of 45 stack. The transformed geometry is clipped by the intersection of all of
52 the clips in the stack. 46 the clips in the stack.
53 47
54 While the Canvas holds the state of the drawing device, the state (style) 48 While the Canvas holds the state of the drawing device, the state (style)
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 * to optimize performance on subsequent draws. Thus, if you call this and t hen 601 * to optimize performance on subsequent draws. Thus, if you call this and t hen
608 * never draw to the canvas subsequently you may pay a perfomance penalty. 602 * never draw to the canvas subsequently you may pay a perfomance penalty.
609 */ 603 */
610 void discard() { this->onDiscard(); } 604 void discard() { this->onDiscard(); }
611 605
612 /** 606 /**
613 * Fill the entire canvas' bitmap (restricted to the current clip) with the 607 * Fill the entire canvas' bitmap (restricted to the current clip) with the
614 * specified paint. 608 * specified paint.
615 * @param paint The paint used to fill the canvas 609 * @param paint The paint used to fill the canvas
616 */ 610 */
617 SK_LEGACY_CANVAS_VIRTUAL void drawPaint(const SkPaint& paint); 611 virtual void drawPaint(const SkPaint& paint);
618 612
619 enum PointMode { 613 enum PointMode {
620 /** drawPoints draws each point separately */ 614 /** drawPoints draws each point separately */
621 kPoints_PointMode, 615 kPoints_PointMode,
622 /** drawPoints draws each pair of points as a line segment */ 616 /** drawPoints draws each pair of points as a line segment */
623 kLines_PointMode, 617 kLines_PointMode,
624 /** drawPoints draws the array of points as a polygon */ 618 /** drawPoints draws the array of points as a polygon */
625 kPolygon_PointMode 619 kPolygon_PointMode
626 }; 620 };
627 621
(...skipping 11 matching lines...) Expand all
639 Note that, while similar, kLine and kPolygon modes draw slightly 633 Note that, while similar, kLine and kPolygon modes draw slightly
640 differently than the equivalent path built with a series of moveto, 634 differently than the equivalent path built with a series of moveto,
641 lineto calls, in that the path will draw all of its contours at once, 635 lineto calls, in that the path will draw all of its contours at once,
642 with no interactions if contours intersect each other (think XOR 636 with no interactions if contours intersect each other (think XOR
643 xfermode). drawPoints always draws each element one at a time. 637 xfermode). drawPoints always draws each element one at a time.
644 @param mode PointMode specifying how to draw the array of points. 638 @param mode PointMode specifying how to draw the array of points.
645 @param count The number of points in the array 639 @param count The number of points in the array
646 @param pts Array of points to draw 640 @param pts Array of points to draw
647 @param paint The paint used to draw the points 641 @param paint The paint used to draw the points
648 */ 642 */
649 SK_LEGACY_CANVAS_VIRTUAL void drawPoints(PointMode mode, size_t count, const SkPoint pts[], 643 virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[],
650 const SkPaint& paint); 644 const SkPaint& paint);
651 645
652 /** Helper method for drawing a single point. See drawPoints() for a more 646 /** Helper method for drawing a single point. See drawPoints() for a more
653 details. 647 details.
654 */ 648 */
655 void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint); 649 void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint);
656 650
657 /** Draws a single pixel in the specified color. 651 /** Draws a single pixel in the specified color.
658 @param x The X coordinate of which pixel to draw 652 @param x The X coordinate of which pixel to draw
659 @param y The Y coordiante of which pixel to draw 653 @param y The Y coordiante of which pixel to draw
660 @param color The color to draw 654 @param color The color to draw
(...skipping 10 matching lines...) Expand all
671 @param paint The paint used to draw the line 665 @param paint The paint used to draw the line
672 */ 666 */
673 void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, 667 void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1,
674 const SkPaint& paint); 668 const SkPaint& paint);
675 669
676 /** Draw the specified rectangle using the specified paint. The rectangle 670 /** Draw the specified rectangle using the specified paint. The rectangle
677 will be filled or stroked based on the Style in the paint. 671 will be filled or stroked based on the Style in the paint.
678 @param rect The rect to be drawn 672 @param rect The rect to be drawn
679 @param paint The paint used to draw the rect 673 @param paint The paint used to draw the rect
680 */ 674 */
681 SK_LEGACY_CANVAS_VIRTUAL void drawRect(const SkRect& rect, const SkPaint& pa int); 675 virtual void drawRect(const SkRect& rect, const SkPaint& paint);
682 676
683 /** Draw the specified rectangle using the specified paint. The rectangle 677 /** Draw the specified rectangle using the specified paint. The rectangle
684 will be filled or framed based on the Style in the paint. 678 will be filled or framed based on the Style in the paint.
685 @param rect The rect to be drawn 679 @param rect The rect to be drawn
686 @param paint The paint used to draw the rect 680 @param paint The paint used to draw the rect
687 */ 681 */
688 void drawIRect(const SkIRect& rect, const SkPaint& paint) { 682 void drawIRect(const SkIRect& rect, const SkPaint& paint) {
689 SkRect r; 683 SkRect r;
690 r.set(rect); // promotes the ints to scalars 684 r.set(rect); // promotes the ints to scalars
691 this->drawRect(r, paint); 685 this->drawRect(r, paint);
692 } 686 }
693 687
694 /** Draw the specified rectangle using the specified paint. The rectangle 688 /** Draw the specified rectangle using the specified paint. The rectangle
695 will be filled or framed based on the Style in the paint. 689 will be filled or framed based on the Style in the paint.
696 @param left The left side of the rectangle to be drawn 690 @param left The left side of the rectangle to be drawn
697 @param top The top side of the rectangle to be drawn 691 @param top The top side of the rectangle to be drawn
698 @param right The right side of the rectangle to be drawn 692 @param right The right side of the rectangle to be drawn
699 @param bottom The bottom side of the rectangle to be drawn 693 @param bottom The bottom side of the rectangle to be drawn
700 @param paint The paint used to draw the rect 694 @param paint The paint used to draw the rect
701 */ 695 */
702 void drawRectCoords(SkScalar left, SkScalar top, SkScalar right, 696 void drawRectCoords(SkScalar left, SkScalar top, SkScalar right,
703 SkScalar bottom, const SkPaint& paint); 697 SkScalar bottom, const SkPaint& paint);
704 698
705 /** Draw the specified oval using the specified paint. The oval will be 699 /** Draw the specified oval using the specified paint. The oval will be
706 filled or framed based on the Style in the paint. 700 filled or framed based on the Style in the paint.
707 @param oval The rectangle bounds of the oval to be drawn 701 @param oval The rectangle bounds of the oval to be drawn
708 @param paint The paint used to draw the oval 702 @param paint The paint used to draw the oval
709 */ 703 */
710 SK_LEGACY_CANVAS_VIRTUAL void drawOval(const SkRect& oval, const SkPaint&); 704 virtual void drawOval(const SkRect& oval, const SkPaint&);
711 705
712 /** 706 /**
713 * Draw the specified RRect using the specified paint The rrect will be fil led or stroked 707 * Draw the specified RRect using the specified paint The rrect will be fil led or stroked
714 * based on the Style in the paint. 708 * based on the Style in the paint.
715 * 709 *
716 * @param rrect The round-rect to draw 710 * @param rrect The round-rect to draw
717 * @param paint The paint used to draw the round-rect 711 * @param paint The paint used to draw the round-rect
718 */ 712 */
719 SK_LEGACY_CANVAS_VIRTUAL void drawRRect(const SkRRect& rrect, const SkPaint& paint); 713 virtual void drawRRect(const SkRRect& rrect, const SkPaint& paint);
720 714
721 /** 715 /**
722 * Draw the annulus formed by the outer and inner rrects. The results 716 * Draw the annulus formed by the outer and inner rrects. The results
723 * are undefined if the outer does not contain the inner. 717 * are undefined if the outer does not contain the inner.
724 */ 718 */
725 void drawDRRect(const SkRRect& outer, const SkRRect& inner, const SkPaint&); 719 void drawDRRect(const SkRRect& outer, const SkRRect& inner, const SkPaint&);
726 720
727 /** Draw the specified circle using the specified paint. If radius is <= 0, 721 /** Draw the specified circle using the specified paint. If radius is <= 0,
728 then nothing will be drawn. The circle will be filled 722 then nothing will be drawn. The circle will be filled
729 or framed based on the Style in the paint. 723 or framed based on the Style in the paint.
(...skipping 27 matching lines...) Expand all
757 @param paint The paint used to draw the roundRect 751 @param paint The paint used to draw the roundRect
758 */ 752 */
759 void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, 753 void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry,
760 const SkPaint& paint); 754 const SkPaint& paint);
761 755
762 /** Draw the specified path using the specified paint. The path will be 756 /** Draw the specified path using the specified paint. The path will be
763 filled or framed based on the Style in the paint. 757 filled or framed based on the Style in the paint.
764 @param path The path to be drawn 758 @param path The path to be drawn
765 @param paint The paint used to draw the path 759 @param paint The paint used to draw the path
766 */ 760 */
767 SK_LEGACY_CANVAS_VIRTUAL void drawPath(const SkPath& path, const SkPaint& pa int); 761 virtual void drawPath(const SkPath& path, const SkPaint& paint);
768 762
769 /** Draw the specified image, with its top/left corner at (x,y), using the 763 /** Draw the specified image, with its top/left corner at (x,y), using the
770 specified paint, transformed by the current matrix. 764 specified paint, transformed by the current matrix.
771 765
772 @param image The image to be drawn 766 @param image The image to be drawn
773 @param left The position of the left side of the image being drawn 767 @param left The position of the left side of the image being drawn
774 @param top The position of the top side of the image being drawn 768 @param top The position of the top side of the image being drawn
775 @param paint The paint used to draw the image, or NULL 769 @param paint The paint used to draw the image, or NULL
776 */ 770 */
777 SK_LEGACY_CANVAS_VIRTUAL void drawImage(const SkImage* image, SkScalar left, SkScalar top, 771 virtual void drawImage(const SkImage* image, SkScalar left, SkScalar top,
778 const SkPaint* paint = NULL); 772 const SkPaint* paint = NULL);
779 /** Draw the specified image, with the specified matrix applied (before the 773 /** Draw the specified image, with the specified matrix applied (before the
780 canvas' matrix is applied). 774 canvas' matrix is applied).
781 775
782 @param image The image to be drawn 776 @param image The image to be drawn
783 @param src Optional: specify the subset of the image to be drawn 777 @param src Optional: specify the subset of the image to be drawn
784 @param dst The destination rectangle where the scaled/translated 778 @param dst The destination rectangle where the scaled/translated
785 image will be drawn 779 image will be drawn
786 @param paint The paint used to draw the image, or NULL 780 @param paint The paint used to draw the image, or NULL
787 */ 781 */
788 SK_LEGACY_CANVAS_VIRTUAL void drawImageRect(const SkImage* image, const SkRe ct* src, 782 virtual void drawImageRect(const SkImage* image, const SkRect* src,
789 const SkRect& dst, 783 const SkRect& dst,
790 const SkPaint* paint = NULL); 784 const SkPaint* paint = NULL);
791 785
792 /** Draw the specified bitmap, with its top/left corner at (x,y), using the 786 /** Draw the specified bitmap, with its top/left corner at (x,y), using the
793 specified paint, transformed by the current matrix. Note: if the paint 787 specified paint, transformed by the current matrix. Note: if the paint
794 contains a maskfilter that generates a mask which extends beyond the 788 contains a maskfilter that generates a mask which extends beyond the
795 bitmap's original width/height, then the bitmap will be drawn as if it 789 bitmap's original width/height, then the bitmap will be drawn as if it
796 were in a Shader with CLAMP mode. Thus the color outside of the original 790 were in a Shader with CLAMP mode. Thus the color outside of the original
797 width/height will be the edge color replicated. 791 width/height will be the edge color replicated.
798 792
799 If a shader is present on the paint it will be ignored, except in the 793 If a shader is present on the paint it will be ignored, except in the
800 case where the bitmap is kAlpha_8_SkColorType. In that case, the color i s 794 case where the bitmap is kAlpha_8_SkColorType. In that case, the color i s
801 generated by the shader. 795 generated by the shader.
802 796
803 @param bitmap The bitmap to be drawn 797 @param bitmap The bitmap to be drawn
804 @param left The position of the left side of the bitmap being drawn 798 @param left The position of the left side of the bitmap being drawn
805 @param top The position of the top side of the bitmap being drawn 799 @param top The position of the top side of the bitmap being drawn
806 @param paint The paint used to draw the bitmap, or NULL 800 @param paint The paint used to draw the bitmap, or NULL
807 */ 801 */
808 SK_LEGACY_CANVAS_VIRTUAL void drawBitmap(const SkBitmap& bitmap, SkScalar le ft, SkScalar top, 802 virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
809 const SkPaint* paint = NULL); 803 const SkPaint* paint = NULL);
810 804
811 enum DrawBitmapRectFlags { 805 enum DrawBitmapRectFlags {
812 kNone_DrawBitmapRectFlag = 0x0, 806 kNone_DrawBitmapRectFlag = 0x0,
813 /** 807 /**
814 * When filtering is enabled, allow the color samples outside of 808 * When filtering is enabled, allow the color samples outside of
815 * the src rect (but still in the src bitmap) to bleed into the 809 * the src rect (but still in the src bitmap) to bleed into the
816 * drawn portion 810 * drawn portion
817 */ 811 */
818 kBleed_DrawBitmapRectFlag = 0x1, 812 kBleed_DrawBitmapRectFlag = 0x1,
819 }; 813 };
820 814
821 /** Draw the specified bitmap, with the specified matrix applied (before the 815 /** Draw the specified bitmap, with the specified matrix applied (before the
822 canvas' matrix is applied). 816 canvas' matrix is applied).
823 @param bitmap The bitmap to be drawn 817 @param bitmap The bitmap to be drawn
824 @param src Optional: specify the subset of the bitmap to be drawn 818 @param src Optional: specify the subset of the bitmap to be drawn
825 @param dst The destination rectangle where the scaled/translated 819 @param dst The destination rectangle where the scaled/translated
826 image will be drawn 820 image will be drawn
827 @param paint The paint used to draw the bitmap, or NULL 821 @param paint The paint used to draw the bitmap, or NULL
828 */ 822 */
829 SK_LEGACY_CANVAS_VIRTUAL void drawBitmapRectToRect(const SkBitmap& bitmap, c onst SkRect* src, 823 virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src,
830 const SkRect& dst, 824 const SkRect& dst,
831 const SkPaint* paint = NULL, 825 const SkPaint* paint = NULL,
832 DrawBitmapRectFlags flags = kNone_DrawBitm apRectFlag); 826 DrawBitmapRectFlags flags = kNone_DrawBitm apRectFlag);
833 827
834 void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, 828 void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst,
835 const SkPaint* paint = NULL) { 829 const SkPaint* paint = NULL) {
836 this->drawBitmapRectToRect(bitmap, NULL, dst, paint, kNone_DrawBitmapRec tFlag); 830 this->drawBitmapRectToRect(bitmap, NULL, dst, paint, kNone_DrawBitmapRec tFlag);
837 } 831 }
838 832
839 void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* isrc, 833 void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* isrc,
(...skipping 15 matching lines...) Expand all
855 * bitmap is the "center", then the center-rect should be [2, 2, 3, 3]. 849 * bitmap is the "center", then the center-rect should be [2, 2, 3, 3].
856 * 850 *
857 * If the dst is >= the bitmap size, then... 851 * If the dst is >= the bitmap size, then...
858 * - The 4 corners are not stretched at all. 852 * - The 4 corners are not stretched at all.
859 * - The sides are stretched in only one axis. 853 * - The sides are stretched in only one axis.
860 * - The center is stretched in both axes. 854 * - The center is stretched in both axes.
861 * Else, for each axis where dst < bitmap, 855 * Else, for each axis where dst < bitmap,
862 * - The corners shrink proportionally 856 * - The corners shrink proportionally
863 * - The sides (along the shrink axis) and center are not drawn 857 * - The sides (along the shrink axis) and center are not drawn
864 */ 858 */
865 SK_LEGACY_CANVAS_VIRTUAL void drawBitmapNine(const SkBitmap& bitmap, const S kIRect& center, 859 virtual void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
866 const SkRect& dst, const SkPaint* paint = NULL); 860 const SkRect& dst, const SkPaint* paint = NULL);
867 861
868 /** Draw the specified bitmap, with its top/left corner at (x,y), 862 /** Draw the specified bitmap, with its top/left corner at (x,y),
869 NOT transformed by the current matrix. Note: if the paint 863 NOT transformed by the current matrix. Note: if the paint
870 contains a maskfilter that generates a mask which extends beyond the 864 contains a maskfilter that generates a mask which extends beyond the
871 bitmap's original width/height, then the bitmap will be drawn as if it 865 bitmap's original width/height, then the bitmap will be drawn as if it
872 were in a Shader with CLAMP mode. Thus the color outside of the original 866 were in a Shader with CLAMP mode. Thus the color outside of the original
873 width/height will be the edge color replicated. 867 width/height will be the edge color replicated.
874 @param bitmap The bitmap to be drawn 868 @param bitmap The bitmap to be drawn
875 @param left The position of the left side of the bitmap being drawn 869 @param left The position of the left side of the bitmap being drawn
876 @param top The position of the top side of the bitmap being drawn 870 @param top The position of the top side of the bitmap being drawn
877 @param paint The paint used to draw the bitmap, or NULL 871 @param paint The paint used to draw the bitmap, or NULL
878 */ 872 */
879 SK_LEGACY_CANVAS_VIRTUAL void drawSprite(const SkBitmap& bitmap, int left, i nt top, 873 virtual void drawSprite(const SkBitmap& bitmap, int left, int top,
880 const SkPaint* paint = NULL); 874 const SkPaint* paint = NULL);
881 875
882 /** Draw the text, with origin at (x,y), using the specified paint. 876 /** Draw the text, with origin at (x,y), using the specified paint.
883 The origin is interpreted based on the Align setting in the paint. 877 The origin is interpreted based on the Align setting in the paint.
884 @param text The text to be drawn 878 @param text The text to be drawn
885 @param byteLength The number of bytes to read from the text parameter 879 @param byteLength The number of bytes to read from the text parameter
886 @param x The x-coordinate of the origin of the text being drawn 880 @param x The x-coordinate of the origin of the text being drawn
887 @param y The y-coordinate of the origin of the text being drawn 881 @param y The y-coordinate of the origin of the text being drawn
888 @param paint The paint used for the text (e.g. color, size, style) 882 @param paint The paint used for the text (e.g. color, size, style)
889 */ 883 */
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 vertex, to be interpolated across the triangle. 986 vertex, to be interpolated across the triangle.
993 @param xmode Used if both texs and colors are present. In this 987 @param xmode Used if both texs and colors are present. In this
994 case the colors are combined with the texture using mode, 988 case the colors are combined with the texture using mode,
995 before being drawn using the paint. If mode is null, then 989 before being drawn using the paint. If mode is null, then
996 kModulate_Mode is used. 990 kModulate_Mode is used.
997 @param indices If not null, array of indices to reference into the 991 @param indices If not null, array of indices to reference into the
998 vertex (texs, colors) array. 992 vertex (texs, colors) array.
999 @param indexCount number of entries in the indices array (if not null) 993 @param indexCount number of entries in the indices array (if not null)
1000 @param paint Specifies the shader/texture if present. 994 @param paint Specifies the shader/texture if present.
1001 */ 995 */
1002 SK_LEGACY_CANVAS_VIRTUAL void drawVertices(VertexMode vmode, int vertexCount , 996 virtual void drawVertices(VertexMode vmode, int vertexCount,
1003 const SkPoint vertices[], const SkPoint texs[], 997 const SkPoint vertices[], const SkPoint texs[],
1004 const SkColor colors[], SkXfermode* xmode, 998 const SkColor colors[], SkXfermode* xmode,
1005 const uint16_t indices[], int indexCount, 999 const uint16_t indices[], int indexCount,
1006 const SkPaint& paint); 1000 const SkPaint& paint);
1007 1001
1008 /** 1002 /**
1009 Draw a cubic coons patch 1003 Draw a cubic coons patch
1010 1004
1011 @param cubic specifies the 4 bounding cubic bezier curves of a patch with c lockwise order 1005 @param cubic specifies the 4 bounding cubic bezier curves of a patch with c lockwise order
1012 starting at the top left corner. 1006 starting at the top left corner.
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 const SkPaint& paint); 1190 const SkPaint& paint);
1197 1191
1198 virtual void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, 1192 virtual void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
1199 const SkPaint& paint); 1193 const SkPaint& paint);
1200 1194
1201 virtual void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], 1195 virtual void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
1202 const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint); 1196 const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint);
1203 1197
1204 virtual void onDrawDrawable(SkCanvasDrawable*); 1198 virtual void onDrawDrawable(SkCanvasDrawable*);
1205 1199
1206 virtual void onDrawPaint(const SkPaint&);
1207 virtual void onDrawRect(const SkRect&, const SkPaint&);
1208 virtual void onDrawOval(const SkRect&, const SkPaint&);
1209 virtual void onDrawRRect(const SkRRect&, const SkPaint&);
1210 virtual void onDrawPoints(PointMode, size_t count, const SkPoint pts[], cons t SkPaint&);
1211 virtual void onDrawVertices(VertexMode, int vertexCount, const SkPoint verti ces[],
1212 const SkPoint texs[], const SkColor colors[], Sk Xfermode*,
1213 const uint16_t indices[], int indexCount, const SkPaint&);
1214 virtual void onDrawPath(const SkPath&, const SkPaint&);
1215 virtual void onDrawImage(const SkImage*, SkScalar dx, SkScalar dy, const SkP aint*);
1216 virtual void onDrawImageRect(const SkImage*, const SkRect*, const SkRect&, c onst SkPaint*);
1217 virtual void onDrawBitmap(const SkBitmap&, SkScalar dx, SkScalar dy, const S kPaint*);
1218 virtual void onDrawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*,
1219 DrawBitmapRectFlags);
1220 virtual void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst,
1221 const SkPaint*);
1222 virtual void onDrawSprite(const SkBitmap&, int left, int top, const SkPaint* );
1223
1224 enum ClipEdgeStyle { 1200 enum ClipEdgeStyle {
1225 kHard_ClipEdgeStyle, 1201 kHard_ClipEdgeStyle,
1226 kSoft_ClipEdgeStyle 1202 kSoft_ClipEdgeStyle
1227 }; 1203 };
1228 1204
1229 virtual void onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle e dgeStyle); 1205 virtual void onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle e dgeStyle);
1230 virtual void onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyl e edgeStyle); 1206 virtual void onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyl e edgeStyle);
1231 virtual void onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle e dgeStyle); 1207 virtual void onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle e dgeStyle);
1232 virtual void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op); 1208 virtual void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op);
1233 1209
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 1482
1507 class SkCanvasClipVisitor { 1483 class SkCanvasClipVisitor {
1508 public: 1484 public:
1509 virtual ~SkCanvasClipVisitor(); 1485 virtual ~SkCanvasClipVisitor();
1510 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0; 1486 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0;
1511 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0; 1487 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0;
1512 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0; 1488 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0;
1513 }; 1489 };
1514 1490
1515 #endif 1491 #endif
OLDNEW
« no previous file with comments | « gyp/skia_for_chromium_defines.gypi ('k') | include/core/SkImage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698