static void test_strokerect(SkCanvas* canvas) { canvas->drawColor(SK_ColorWHITE); SkRect r; r.set(10, 10, 14, 14); r.offset(0.25f, 0.3333f); test_strokerect(canvas, r); canvas->translate(0, 20); r.set(10, 10, 14.5f, 14.5f); r.offset(0.25f, 0.3333f); test_strokerect(canvas, r); canvas->translate(0, 20); r.set(10, 10, 14.5f, 20); r.offset(0.25f, 0.3333f); test_strokerect(canvas, r); canvas->translate(0, 20); r.set(10, 10, 20, 14.5f); r.offset(0.25f, 0.3333f); test_strokerect(canvas, r); canvas->translate(0, 20); r.set(10, 10, 20, 20); r.offset(0.25f, 0.3333f); test_strokerect(canvas, r); canvas->translate(0, 20); }
virtual void onDrawContent(SkCanvas* canvas) { if (false) { // avoid bit rot, suppress warning test_strokerect(canvas); return; } if (false) { // avoid bit rot, suppress warning test_text(canvas); return; } #ifdef SK_DEBUG if (true) { SkRegion a, b, c; test_union_bug_1505668(&a, &b, &c); if (false) { // draw the result of the test SkPaint paint; canvas->translate(SkIntToScalar(10), SkIntToScalar(10)); paint.setColor(SK_ColorRED); paint_rgn(canvas, a, paint); paint.setColor(0x800000FF); paint_rgn(canvas, b, paint); paint.setColor(SK_ColorBLACK); paint.setStyle(SkPaint::kStroke_Style); // paint_rgn(canvas, c, paint); return; } } #endif const SkPoint origins[] = { { 30*SK_Scalar1, 50*SK_Scalar1 }, { 150*SK_Scalar1, 50*SK_Scalar1 }, }; this->drawPredicates(canvas, origins); static const struct { SkColor fColor; const char* fName; SkRegion::Op fOp; } gOps[] = { { SK_ColorBLACK, "Difference", SkRegion::kDifference_Op }, { SK_ColorRED, "Intersect", SkRegion::kIntersect_Op }, { 0xFF008800, "Union", SkRegion::kUnion_Op }, { SK_ColorBLUE, "XOR", SkRegion::kXOR_Op } }; SkPaint textPaint; textPaint.setAntiAlias(true); textPaint.setTextSize(SK_Scalar1*24); this->drawOrig(canvas, false); canvas->save(); canvas->translate(SkIntToScalar(200), 0); this->drawRgnOped(canvas, SkRegion::kUnion_Op, SK_ColorBLACK); canvas->restore(); canvas->translate(0, SkIntToScalar(200)); for (size_t op = 0; op < SK_ARRAY_COUNT(gOps); op++) { canvas->drawText(gOps[op].fName, strlen(gOps[op].fName), SkIntToScalar(75), SkIntToScalar(50), textPaint); this->drawRgnOped(canvas, gOps[op].fOp, gOps[op].fColor); canvas->save(); canvas->translate(0, SkIntToScalar(200)); this->drawPathOped(canvas, gOps[op].fOp, gOps[op].fColor); canvas->restore(); canvas->translate(SkIntToScalar(200), 0); } }
DEF_TEST(Stroke, reporter) { test_strokerect(reporter); }
static void TestStroke(skiatest::Reporter* reporter) { test_strokerect(reporter); }