aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/aaclip.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-01-28 16:57:29 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-01-28 16:57:29 +0000
commitb6399a79b25f50b13679d32e08183988b0486cc8 (patch)
tree428de4cfda22ec69600f4277eade9c49d97f6466 /gm/aaclip.cpp
parent22943cd5883a1f22ef4108a943a002bf0700245d (diff)
add (disabled) test for big dashing
git-svn-id: http://skia.googlecode.com/svn/trunk@7417 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/aaclip.cpp')
-rw-r--r--gm/aaclip.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/gm/aaclip.cpp b/gm/aaclip.cpp
index 10bfdf4b90..07e4085d69 100644
--- a/gm/aaclip.cpp
+++ b/gm/aaclip.cpp
@@ -9,6 +9,34 @@
#include "SkCanvas.h"
#include "SkPath.h"
+#include "SkDashPathEffect.h"
+static void test_giant_dash(SkCanvas* canvas) {
+ SkPaint paint;
+ const SkScalar intervals[] = { SK_Scalar1, SK_Scalar1 };
+
+ paint.setStrokeWidth(2);
+ paint.setPathEffect(new SkDashPathEffect(intervals, 2, 0))->unref();
+
+ SkScalar big = 500 * 1000;
+
+ canvas->drawLine(10, 10, big, 10, paint);
+ canvas->drawLine(-big, 20, 500, 20, paint);
+ canvas->drawLine(-big, 30, big, 30, paint);
+
+ const SkScalar intervals2[] = { 20, 5, 10, 5 };
+ paint.setPathEffect(new SkDashPathEffect(intervals2, 4, 17))->unref();
+
+ canvas->translate(0, 40);
+ SkScalar x = -500;
+ SkScalar width = 3173;
+ for (int i = 0; i < 40; ++i) {
+ if (i > 10)
+ canvas->drawLine(x, 0, x + width, 0, paint);
+ x += 1;
+ canvas->translate(0, 4);
+ }
+}
+
// Reproduces bug found here: http://jsfiddle.net/R8Cu5/1/
//
#include "SkGradientShader.h"
@@ -177,7 +205,10 @@ protected:
return make_isize(640, 480);
}
- virtual void onDraw(SkCanvas* canvas) {
+ virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+ if (false) {
+ test_giant_dash(canvas); return;
+ }
if (false) {
test_grad(canvas); return;
}