From d1ab9320b09b922bd2f3b3d4f888c754fde5b58c Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 10 Jan 2012 18:40:03 +0000 Subject: restore (debugged) cheapComputeDirection git-svn-id: http://skia.googlecode.com/svn/trunk@3000 2bbb7eff-a529-9590-31e7-b0007b416f81 --- gm/strokefill.cpp | 83 ++++++++++++++++++++++++++----------------------------- 1 file changed, 39 insertions(+), 44 deletions(-) (limited to 'gm/strokefill.cpp') diff --git a/gm/strokefill.cpp b/gm/strokefill.cpp index 1fb5470dd1..274c4cdf83 100644 --- a/gm/strokefill.cpp +++ b/gm/strokefill.cpp @@ -10,48 +10,6 @@ #include "SkPath.h" #include "SkTypeface.h" -static void test10(SkCanvas* canvas) { - SkPaint paint; - const char text[] = "Hello"; // "Hello"; - const size_t len = sizeof(text) - 1; - paint.setAntiAlias(true); - paint.setTextSize(SkIntToScalar(100)); - SkTypeface* hira = SkTypeface::CreateFromName("Hiragino Maru Gothic Pro", - SkTypeface::kNormal); - paint.setTypeface(hira); - SkScalar x = 180; - SkScalar y = 88; - - canvas->drawText(text, len, x, y, paint); - paint.setFakeBoldText(true); - canvas->drawText(text, len, x, y + 100, paint); - paint.setStyle(SkPaint::kStrokeAndFill_Style); - paint.setStrokeWidth(5); - - SkPath path; - path.setFillType(SkPath::kWinding_FillType); - path.addCircle(x, y + 200, 50, SkPath::kCW_Direction); - path.addCircle(x, y + 200, 40, SkPath::kCCW_Direction); - canvas->drawPath(path, paint); - - SkPath path2; - path2.setFillType(SkPath::kWinding_FillType); - path2.addCircle(x + 120, y + 200, 50, SkPath::kCCW_Direction); - path2.addCircle(x + 120, y + 200, 40, SkPath::kCW_Direction); - canvas->drawPath(path2, paint); - - path2.reset(); - path2.addCircle(x + 240, y + 200, 50, SkPath::kCCW_Direction); - canvas->drawPath(path2, paint); - SkASSERT(path2.cheapIsDirection(SkPath::kCCW_Direction)); - - path2.reset(); - SkASSERT(!path2.cheapComputeDirection(NULL)); - path2.addCircle(x + 360, y + 200, 50, SkPath::kCW_Direction); - SkASSERT(path2.cheapIsDirection(SkPath::kCW_Direction)); - canvas->drawPath(path2, paint); -} - static void test_path(SkCanvas* canvas, const SkPath& path) { SkPaint paint; paint.setAntiAlias(true); @@ -120,8 +78,45 @@ protected: } virtual void onDraw(SkCanvas* canvas) { - // test10(canvas); - // test_rev(canvas); + SkPaint paint; + const char text[] = "Hello"; // "Hello"; + const size_t len = sizeof(text) - 1; + paint.setAntiAlias(true); + paint.setTextSize(SkIntToScalar(100)); + SkTypeface* hira = SkTypeface::CreateFromName("Hiragino Maru Gothic Pro", + SkTypeface::kNormal); + paint.setTypeface(hira); + SkScalar x = 180; + SkScalar y = 88; + + canvas->drawText(text, len, x, y, paint); + paint.setFakeBoldText(true); + canvas->drawText(text, len, x, y + 100, paint); + paint.setStyle(SkPaint::kStrokeAndFill_Style); + paint.setStrokeWidth(5); + + SkPath path; + path.setFillType(SkPath::kWinding_FillType); + path.addCircle(x, y + 200, 50, SkPath::kCW_Direction); + path.addCircle(x, y + 200, 40, SkPath::kCCW_Direction); + canvas->drawPath(path, paint); + + SkPath path2; + path2.setFillType(SkPath::kWinding_FillType); + path2.addCircle(x + 120, y + 200, 50, SkPath::kCCW_Direction); + path2.addCircle(x + 120, y + 200, 40, SkPath::kCW_Direction); + canvas->drawPath(path2, paint); + + path2.reset(); + path2.addCircle(x + 240, y + 200, 50, SkPath::kCCW_Direction); + canvas->drawPath(path2, paint); + SkASSERT(path2.cheapIsDirection(SkPath::kCCW_Direction)); + + path2.reset(); + SkASSERT(!path2.cheapComputeDirection(NULL)); + path2.addCircle(x + 360, y + 200, 50, SkPath::kCW_Direction); + SkASSERT(path2.cheapIsDirection(SkPath::kCW_Direction)); + canvas->drawPath(path2, paint); } private: -- cgit v1.2.3