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

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

Issue 2396953002: Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" (Closed)
Patch Set: add tmp virtual to unroll legacy arithmodes Created 4 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
« no previous file with comments | « include/core/SkBlendMode.h ('k') | include/core/SkColorFilter.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
11 #include "SkTypes.h" 11 #include "SkTypes.h"
12 #include "SkBlendMode.h"
12 #include "SkBitmap.h" 13 #include "SkBitmap.h"
13 #include "SkClipOp.h" 14 #include "SkClipOp.h"
14 #include "SkDeque.h" 15 #include "SkDeque.h"
15 #include "SkImage.h" 16 #include "SkImage.h"
16 #include "SkPaint.h" 17 #include "SkPaint.h"
17 #include "SkRefCnt.h" 18 #include "SkRefCnt.h"
18 #include "SkRegion.h" 19 #include "SkRegion.h"
19 #include "SkSurfaceProps.h" 20 #include "SkSurfaceProps.h"
20 #include "SkXfermode.h" 21 #include "SkXfermode.h"
21 #include "SkLights.h" 22 #include "SkLights.h"
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 589
589 590
590 /** Fill the entire canvas' bitmap (restricted to the current clip) with the 591 /** Fill the entire canvas' bitmap (restricted to the current clip) with the
591 specified ARGB color, using the specified mode. 592 specified ARGB color, using the specified mode.
592 @param a the alpha component (0..255) of the color to fill the canvas 593 @param a the alpha component (0..255) of the color to fill the canvas
593 @param r the red component (0..255) of the color to fill the canvas 594 @param r the red component (0..255) of the color to fill the canvas
594 @param g the green component (0..255) of the color to fill the canvas 595 @param g the green component (0..255) of the color to fill the canvas
595 @param b the blue component (0..255) of the color to fill the canvas 596 @param b the blue component (0..255) of the color to fill the canvas
596 @param mode the mode to apply the color in (defaults to SrcOver) 597 @param mode the mode to apply the color in (defaults to SrcOver)
597 */ 598 */
598 void drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, 599 void drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkBlendMode mode = SkBlend Mode::kSrcOver);
599 SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode); 600 #ifdef SK_SUPPORT_LEGACY_XFERMODE_OBJECT
601 void drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkXfermode::Mode mode) {
602 this->drawARGB(a, r, g, b, (SkBlendMode)mode);
603 }
604 #endif
600 605
601 /** Fill the entire canvas' bitmap (restricted to the current clip) with the 606 /** Fill the entire canvas' bitmap (restricted to the current clip) with the
602 specified color and mode. 607 specified color and mode.
603 @param color the color to draw with 608 @param color the color to draw with
604 @param mode the mode to apply the color in (defaults to SrcOver) 609 @param mode the mode to apply the color in (defaults to SrcOver)
605 */ 610 */
606 void drawColor(SkColor color, SkXfermode::Mode mode = SkXfermode::kSrcOver_M ode); 611 void drawColor(SkColor color, SkBlendMode mode = SkBlendMode::kSrcOver);
612 #ifdef SK_SUPPORT_LEGACY_XFERMODE_OBJECT
613 void drawColor(SkColor color, SkXfermode::Mode mode) {
614 this->drawColor(color, (SkBlendMode)mode);
615 }
616 #endif
607 617
608 /** 618 /**
609 * Helper method for drawing a color in SRC mode, completely replacing all the pixels 619 * Helper method for drawing a color in SRC mode, completely replacing all the pixels
610 * in the current clip with this color. 620 * in the current clip with this color.
611 */ 621 */
612 void clear(SkColor color) { 622 void clear(SkColor color) {
613 this->drawColor(color, SkXfermode::kSrc_Mode); 623 this->drawColor(color, SkBlendMode::kSrc);
614 } 624 }
615 625
616 /** 626 /**
617 * This makes the contents of the canvas undefined. Subsequent calls that 627 * This makes the contents of the canvas undefined. Subsequent calls that
618 * require reading the canvas contents will produce undefined results. Examp les 628 * require reading the canvas contents will produce undefined results. Examp les
619 * include blending and readPixels. The actual implementation is backend- 629 * include blending and readPixels. The actual implementation is backend-
620 * dependent and one legal implementation is to do nothing. This method 630 * dependent and one legal implementation is to do nothing. This method
621 * ignores the current clip. 631 * ignores the current clip.
622 * 632 *
623 * This function should only be called if the caller intends to subsequently 633 * This function should only be called if the caller intends to subsequently
(...skipping 1131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 1765
1756 class SkCanvasClipVisitor { 1766 class SkCanvasClipVisitor {
1757 public: 1767 public:
1758 virtual ~SkCanvasClipVisitor(); 1768 virtual ~SkCanvasClipVisitor();
1759 virtual void clipRect(const SkRect&, SkCanvas::ClipOp, bool antialias) = 0; 1769 virtual void clipRect(const SkRect&, SkCanvas::ClipOp, bool antialias) = 0;
1760 virtual void clipRRect(const SkRRect&, SkCanvas::ClipOp, bool antialias) = 0 ; 1770 virtual void clipRRect(const SkRRect&, SkCanvas::ClipOp, bool antialias) = 0 ;
1761 virtual void clipPath(const SkPath&, SkCanvas::ClipOp, bool antialias) = 0; 1771 virtual void clipPath(const SkPath&, SkCanvas::ClipOp, bool antialias) = 0;
1762 }; 1772 };
1763 1773
1764 #endif 1774 #endif
OLDNEW
« no previous file with comments | « include/core/SkBlendMode.h ('k') | include/core/SkColorFilter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698