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

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

Issue 35543002: Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get be… (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « experimental/SimpleCocoaApp/SimpleApp.mm ('k') | include/utils/SkDeferredCanvas.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 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
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 SkCanvas_DEFINED 10 #ifndef SkCanvas_DEFINED
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 @param y1 The y-coordinate of the end point of the line 568 @param y1 The y-coordinate of the end point of the line
569 @param paint The paint used to draw the line 569 @param paint The paint used to draw the line
570 */ 570 */
571 void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, 571 void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1,
572 const SkPaint& paint); 572 const SkPaint& paint);
573 573
574 /** Draw the specified rectangle using the specified paint. The rectangle 574 /** Draw the specified rectangle using the specified paint. The rectangle
575 will be filled or stroked based on the Style in the paint. 575 will be filled or stroked based on the Style in the paint.
576 @param rect The rect to be drawn 576 @param rect The rect to be drawn
577 @param paint The paint used to draw the rect 577 @param paint The paint used to draw the rect
578
579 Overriding this function is deprecated. It will be made non-virtual
580 soon. Instead override onDrawRect.
581 */ 578 */
582 virtual void drawRect(const SkRect& rect, const SkPaint& paint) { 579 virtual void drawRect(const SkRect& rect, const SkPaint& paint);
583 this->onDrawRect(rect, paint);
584 }
585 580
586 /** Draw the specified rectangle using the specified paint. The rectangle 581 /** Draw the specified rectangle using the specified paint. The rectangle
587 will be filled or framed based on the Style in the paint. 582 will be filled or framed based on the Style in the paint.
588 @param rect The rect to be drawn 583 @param rect The rect to be drawn
589 @param paint The paint used to draw the rect 584 @param paint The paint used to draw the rect
590 */ 585 */
591 void drawIRect(const SkIRect& rect, const SkPaint& paint) { 586 void drawIRect(const SkIRect& rect, const SkPaint& paint)
587 {
592 SkRect r; 588 SkRect r;
593 r.set(rect); // promotes the ints to scalars 589 r.set(rect); // promotes the ints to scalars
594 this->drawRect(r, paint); 590 this->drawRect(r, paint);
595 } 591 }
596 592
597 /** Draw the specified rectangle using the specified paint. The rectangle 593 /** Draw the specified rectangle using the specified paint. The rectangle
598 will be filled or framed based on the Style in the paint. 594 will be filled or framed based on the Style in the paint.
599 @param left The left side of the rectangle to be drawn 595 @param left The left side of the rectangle to be drawn
600 @param top The top side of the rectangle to be drawn 596 @param top The top side of the rectangle to be drawn
601 @param right The right side of the rectangle to be drawn 597 @param right The right side of the rectangle to be drawn
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 @param ry The y-radius of the oval used to round the corners 649 @param ry The y-radius of the oval used to round the corners
654 @param paint The paint used to draw the roundRect 650 @param paint The paint used to draw the roundRect
655 */ 651 */
656 void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, 652 void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry,
657 const SkPaint& paint); 653 const SkPaint& paint);
658 654
659 /** Draw the specified path using the specified paint. The path will be 655 /** Draw the specified path using the specified paint. The path will be
660 filled or framed based on the Style in the paint. 656 filled or framed based on the Style in the paint.
661 @param path The path to be drawn 657 @param path The path to be drawn
662 @param paint The paint used to draw the path 658 @param paint The paint used to draw the path
663
664 Overriding this function is deprecated. It will be made non-virtual
665 soon. Instead override onDrawRect.
666 */ 659 */
667 virtual void drawPath(const SkPath& path, const SkPaint& paint) { 660 virtual void drawPath(const SkPath& path, const SkPaint& paint);
668 SkRect rect;
669 if (path.isRect(&rect) && !path.isInverseFillType()) {
670 this->onDrawRect(rect, paint);
671 } else {
672 this->onDrawPath(path, paint);
673 }
674 }
675 661
676 /** Draw the specified bitmap, with its top/left corner at (x,y), using the 662 /** Draw the specified bitmap, with its top/left corner at (x,y), using the
677 specified paint, transformed by the current matrix. Note: if the paint 663 specified paint, transformed by the current matrix. Note: if the paint
678 contains a maskfilter that generates a mask which extends beyond the 664 contains a maskfilter that generates a mask which extends beyond the
679 bitmap's original width/height, then the bitmap will be drawn as if it 665 bitmap's original width/height, then the bitmap will be drawn as if it
680 were in a Shader with CLAMP mode. Thus the color outside of the original 666 were in a Shader with CLAMP mode. Thus the color outside of the original
681 width/height will be the edge color replicated. 667 width/height will be the edge color replicated.
682 @param bitmap The bitmap to be drawn 668 @param bitmap The bitmap to be drawn
683 @param left The position of the left side of the bitmap being drawn 669 @param left The position of the left side of the bitmap being drawn
684 @param top The position of the top side of the bitmap being drawn 670 @param top The position of the top side of the bitmap being drawn
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
1041 1027
1042 // Called by child classes that override clipPath and clipRRect to only 1028 // Called by child classes that override clipPath and clipRRect to only
1043 // track fast conservative clip bounds, rather than exact clips. 1029 // track fast conservative clip bounds, rather than exact clips.
1044 bool updateClipConservativelyUsingBounds(const SkRect&, SkRegion::Op, 1030 bool updateClipConservativelyUsingBounds(const SkRect&, SkRegion::Op,
1045 bool inverseFilled); 1031 bool inverseFilled);
1046 1032
1047 // notify our surface (if we have one) that we are about to draw, so it 1033 // notify our surface (if we have one) that we are about to draw, so it
1048 // can perform copy-on-write or invalidate any cached images 1034 // can perform copy-on-write or invalidate any cached images
1049 void predrawNotify(); 1035 void predrawNotify();
1050 1036
1051 virtual void onDrawRect(const SkRect& rect, const SkPaint& paint);
1052
1053 virtual void onDrawPath(const SkPath& path, const SkPaint& paint);
1054
1055 /** DEPRECATED -- use constructor(device) 1037 /** DEPRECATED -- use constructor(device)
1056 1038
1057 Marked as 'protected' to avoid new clients using this before we can 1039 Marked as 'protected' to avoid new clients using this before we can
1058 completely remove it. 1040 completely remove it.
1059 1041
1060 Specify a device for this canvas to draw into. If it is not null, its 1042 Specify a device for this canvas to draw into. If it is not null, its
1061 reference count is incremented. If the canvas was already holding a 1043 reference count is incremented. If the canvas was already holding a
1062 device, its reference count is decremented. The new device is returned. 1044 device, its reference count is decremented. The new device is returned.
1063 */ 1045 */
1064 virtual SkBaseDevice* setDevice(SkBaseDevice* device); 1046 virtual SkBaseDevice* setDevice(SkBaseDevice* device);
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1208 if (NULL != fCanvas) { 1190 if (NULL != fCanvas) {
1209 fCanvas->endCommentGroup(); 1191 fCanvas->endCommentGroup();
1210 } 1192 }
1211 } 1193 }
1212 1194
1213 private: 1195 private:
1214 SkCanvas* fCanvas; 1196 SkCanvas* fCanvas;
1215 }; 1197 };
1216 1198
1217 #endif 1199 #endif
OLDNEW
« no previous file with comments | « experimental/SimpleCocoaApp/SimpleApp.mm ('k') | include/utils/SkDeferredCanvas.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698