diff options
author | Scroggo <Scroggo@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-05-11 14:05:25 +0000 |
---|---|---|
committer | Scroggo <Scroggo@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-05-11 14:05:25 +0000 |
commit | b1a3445f445e9d41ea97b7fbe82d9fe37c709bce (patch) | |
tree | 33b4e59e3d0ef05329655f243c3a611f296658e8 | |
parent | 4dbaefc11dba3a1dce43ab4177789a6fee978356 (diff) | |
download | src-b1a3445f445e9d41ea97b7fbe82d9fe37c709bce.tar.gz |
Add color filters to gpu path.
git-svn-id: http://skia.googlecode.com/svn/trunk/src@1297 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | gpu/SkGpuDevice.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gpu/SkGpuDevice.cpp b/gpu/SkGpuDevice.cpp index 8818dc0b..563dde74 100644 --- a/gpu/SkGpuDevice.cpp +++ b/gpu/SkGpuDevice.cpp @@ -22,6 +22,7 @@ #include "SkGpuDeviceFactory.h" #include "SkGrTexturePixelRef.h" +#include "SkColorFilter.h" #include "SkDrawProcs.h" #include "SkGlyphCache.h" #include "SkUtils.h" @@ -368,6 +369,15 @@ bool SkGpuDevice::skPaint2GrPaintNoShader(const SkPaint& skPaint, grPaint->fColor = SkGr::SkColor2GrColor(skPaint.getColor()); grPaint->setTexture(NULL); } + SkColorFilter* colorFilter = skPaint.getColorFilter(); + SkColor color; + SkXfermode::Mode filterMode; + if (colorFilter != NULL && colorFilter->asColorMode(&color, &filterMode)) { + grPaint->fColorFilterColor = SkGr::SkColor2GrColor(color); + grPaint->fColorFilterXfermode = filterMode; + } else { + grPaint->resetColorFilter(); + } return true; } |