diff options
author | 2012-03-26 14:36:55 +0000 | |
---|---|---|
committer | 2012-03-26 14:36:55 +0000 | |
commit | 22f42b71fc7f120e995b6e90e9fca8584438192c (patch) | |
tree | cd06a32ddaf97bff9ebed6967f512be8048dc3e4 | |
parent | d8bf41bf2238f6b90ce9b869642836e509a2a542 (diff) |
[GPU] when paint has patheffect, it should fallback to path render
Comitted on behalf of Guanqun.Lu@gmail.com
THIS MAY CAUSE GM TO GO RED, WILL REBASELINE.
Review URL: http://codereview.appspot.com/5885057/
git-svn-id: http://skia.googlecode.com/svn/trunk@3487 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | gm/patheffects.cpp | 10 | ||||
-rw-r--r-- | src/gpu/SkGpuDevice.cpp | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gm/patheffects.cpp b/gm/patheffects.cpp index c60611651f..c4cb4997d1 100644 --- a/gm/patheffects.cpp +++ b/gm/patheffects.cpp @@ -146,6 +146,16 @@ protected: canvas->drawPath(path, paint); canvas->translate(0, 160); } + + SkIRect rect = SkIRect::MakeXYWH(20, 20, 60, 60); + for (i = 0; i < SK_ARRAY_COUNT(gPE); i++) { + SkPaint p; + p.setAntiAlias(true); + p.setStyle(SkPaint::kFill_Style); + gPE[i](&p); + canvas->drawIRect(rect, p); + canvas->translate(75, 0); + } } private: diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index 0ac4ed52d8..703153bbb1 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -674,8 +674,8 @@ void SkGpuDevice::drawRect(const SkDraw& draw, const SkRect& rect, */ bool usePath = doStroke && width > 0 && paint.getStrokeJoin() != SkPaint::kMiter_Join; - // another reason we might need to call drawPath... - if (paint.getMaskFilter()) { + // another two reasons we might need to call drawPath... + if (paint.getMaskFilter() || paint.getPathEffect()) { usePath = true; } // until we aa rotated rects... |