Index: gm/cubicpaths.cpp |
diff --git a/gm/cubicpaths.cpp b/gm/cubicpaths.cpp |
index 74fbe8d58b376b56b144d6d3beaedb49aaa26563..ca6c057ec02f70761252655659d2232b098b7fb2 100644 |
--- a/gm/cubicpaths.cpp |
+++ b/gm/cubicpaths.cpp |
@@ -53,6 +53,58 @@ private: |
typedef skiagm::GM INHERITED; |
}; |
+ |
+class ClippedCubic2GM : public skiagm::GM { |
+public: |
+ ClippedCubic2GM() {} |
+ |
+protected: |
+ |
+ SkString onShortName() { |
+ return SkString("clippedcubic2"); |
+ } |
+ |
+ SkISize onISize() { return SkISize::Make(1240, 390); } |
+ |
+ void onDraw(SkCanvas* canvas) override { |
+ canvas->save(); |
+ canvas->translate(-2, 20); |
+ drawOne(canvas, fPath, SkRect::MakeLTRB(0, 0, 80, 150)); |
+ canvas->translate(0, 170); |
+ drawOne(canvas, fPath, SkRect::MakeLTRB(0, 0, 80, 100)); |
+ canvas->translate(0, 170); |
+ drawOne(canvas, fPath, SkRect::MakeLTRB(0, 0, 30, 150)); |
+ canvas->translate(0, 170); |
+ drawOne(canvas, fPath, SkRect::MakeLTRB(0, 0, 10, 150)); |
+ canvas->restore(); |
+ } |
+ |
+ void drawOne(SkCanvas* canvas, const SkPath& path, const SkRect& clip) { |
+ SkPaint framePaint, fillPaint; |
+ framePaint.setStyle(SkPaint::kStroke_Style); |
+ canvas->drawRect(clip, framePaint); |
+ canvas->drawPath(path, framePaint); |
+ canvas->save(); |
+ canvas->clipRect(clip); |
+ canvas->drawPath(path, fillPaint); |
+ canvas->restore(); |
+ } |
+ |
+ void onOnceBeforeDraw() override { |
+ fPath.moveTo(69.7030518991886f, 0); |
+ fPath.cubicTo( 69.7030518991886f, 21.831149999999997f, |
+ 58.08369508178456f, 43.66448333333333f, 34.8449814469765f, 65.5f); |
+ fPath.cubicTo( 11.608591683531916f, 87.33115f, -0.010765133872116195f, 109.16448333333332f, |
+ -0.013089005235602302f, 131); |
+ fPath.close(); |
+ } |
+ |
+ SkPath fPath; |
+private: |
+ typedef skiagm::GM INHERITED; |
+}; |
+ |
+ |
class CubicPathGM : public skiagm::GM { |
public: |
CubicPathGM() {} |
@@ -347,3 +399,4 @@ private: |
DEF_GM( return new CubicPathGM; ) |
DEF_GM( return new CubicClosePathGM; ) |
DEF_GM( return new ClippedCubicGM; ) |
+DEF_GM( return new ClippedCubic2GM; ) |