aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkXfermode.cpp
diff options
context:
space:
mode:
authorGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-17 02:16:43 +0000
committerGravatar mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-17 02:16:43 +0000
commite303fcf68d6fee2bf9ee0c4f6fb330a2c3e41a01 (patch)
treebb3c9b470ecdcf36cbd3ddf9532718097c42ede1 /src/core/SkXfermode.cpp
parentb03db4a366d7bdcea095983f4beaf9982e96fc21 (diff)
add SkXfermode::IsMode() and use that in SkDevice
git-svn-id: http://skia.googlecode.com/svn/trunk@2703 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkXfermode.cpp')
-rw-r--r--src/core/SkXfermode.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
index e4d34e1ada..3ddacad60a 100644
--- a/src/core/SkXfermode.cpp
+++ b/src/core/SkXfermode.cpp
@@ -1033,6 +1033,15 @@ bool SkXfermode::AsCoeff(SkXfermode* xfer, Coeff* src, Coeff* dst) {
return xfer->asCoeff(src, dst);
}
+bool SkXfermode::IsMode(SkXfermode* xfer, Mode mode) {
+ // if xfer==null then the mode is srcover
+ Mode m = kSrcOver_Mode;
+ if (xfer && !xfer->asMode(&m)) {
+ return false;
+ }
+ return mode == m;
+}
+
///////////////////////////////////////////////////////////////////////////////
//////////// 16bit xfermode procs