| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkPaint.h" | 10 #include "SkPaint.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 } gData[] = { | 55 } gData[] = { |
| 56 { 1, 1 }, | 56 { 1, 1 }, |
| 57 { 4, 1 }, | 57 { 4, 1 }, |
| 58 }; | 58 }; |
| 59 | 59 |
| 60 SkPaint paint; | 60 SkPaint paint; |
| 61 paint.setStyle(SkPaint::kStroke_Style); | 61 paint.setStyle(SkPaint::kStroke_Style); |
| 62 | 62 |
| 63 canvas->translate(SkIntToScalar(20), SkIntToScalar(20)); | 63 canvas->translate(SkIntToScalar(20), SkIntToScalar(20)); |
| 64 canvas->translate(0, SK_ScalarHalf); | 64 canvas->translate(0, SK_ScalarHalf); |
| 65 | |
| 66 for (int width = 0; width <= 2; ++width) { | 65 for (int width = 0; width <= 2; ++width) { |
| 67 for (size_t data = 0; data < SK_ARRAY_COUNT(gData); ++data) { | 66 for (size_t data = 0; data < SK_ARRAY_COUNT(gData); ++data) { |
| 68 for (int aa = 0; aa <= 1; ++aa) { | 67 for (int aa = 0; aa <= 1; ++aa) { |
| 69 int w = width * width * width; | 68 int w = width * width * width; |
| 70 paint.setAntiAlias(SkToBool(aa)); | 69 paint.setAntiAlias(SkToBool(aa)); |
| 71 paint.setStrokeWidth(SkIntToScalar(w)); | 70 paint.setStrokeWidth(SkIntToScalar(w)); |
| 72 | 71 |
| 73 int scale = w ? w : 1; | 72 int scale = w ? w : 1; |
| 74 | 73 |
| 75 drawline(canvas, gData[data].fOnInterval * scale, | 74 drawline(canvas, gData[data].fOnInterval * scale, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 } | 226 } |
| 228 | 227 |
| 229 p.setAntiAlias(true); | 228 p.setAntiAlias(true); |
| 230 | 229 |
| 231 for (int x = 0; x < 100; x += 14*strokeWidth) { | 230 for (int x = 0; x < 100; x += 14*strokeWidth) { |
| 232 pts[0].set(SkIntToScalar(x), 0); | 231 pts[0].set(SkIntToScalar(x), 0); |
| 233 pts[1].set(SkIntToScalar(x), lineLength); | 232 pts[1].set(SkIntToScalar(x), lineLength); |
| 234 | 233 |
| 235 canvas->drawPoints(SkCanvas::kLines_PointMode, 2, pts, p); | 234 canvas->drawPoints(SkCanvas::kLines_PointMode, 2, pts, p); |
| 236 } | 235 } |
| 237 | |
| 238 } | 236 } |
| 239 | 237 |
| 240 virtual void onDraw(SkCanvas* canvas) { | 238 virtual void onDraw(SkCanvas* canvas) { |
| 241 // 1on/1off 1x1 squares with phase of 0 - points fastpath | 239 // 1on/1off 1x1 squares with phase of 0 - points fastpath |
| 242 canvas->save(); | 240 canvas->save(); |
| 243 canvas->translate(2, 0); | 241 canvas->translate(2, 0); |
| 244 this->drawDashedLines(canvas, 100, 0, SK_Scalar1, 1, false); | 242 this->drawDashedLines(canvas, 100, 0, SK_Scalar1, 1, false); |
| 245 canvas->restore(); | 243 canvas->restore(); |
| 246 | 244 |
| 247 // 1on/1off 1x1 squares with phase of .5 - rects fastpath (due to partia
l squares) | 245 // 1on/1off 1x1 squares with phase of .5 - rects fastpath (due to partia
l squares) |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 canvas->translate(0, SkIntToScalar(20)); | 363 canvas->translate(0, SkIntToScalar(20)); |
| 366 } | 364 } |
| 367 } | 365 } |
| 368 } | 366 } |
| 369 } | 367 } |
| 370 | 368 |
| 371 for (int aa = 0; aa <= 1; ++aa) { | 369 for (int aa = 0; aa <= 1; ++aa) { |
| 372 paint.setAntiAlias(SkToBool(aa)); | 370 paint.setAntiAlias(SkToBool(aa)); |
| 373 paint.setStrokeWidth(8.f); | 371 paint.setStrokeWidth(8.f); |
| 374 paint.setStrokeCap(SkPaint::kSquare_Cap); | 372 paint.setStrokeCap(SkPaint::kSquare_Cap); |
| 375 | |
| 376 // Single dash element that is cut off at start and end | 373 // Single dash element that is cut off at start and end |
| 377 drawline(canvas, 32, 16, paint, 20.f, 0, 5.f); | 374 drawline(canvas, 32, 16, paint, 20.f, 0, 5.f); |
| 378 canvas->translate(0, SkIntToScalar(20)); | 375 canvas->translate(0, SkIntToScalar(20)); |
| 379 | 376 |
| 380 // Two dash elements where each one is cut off at beginning and end
respectively | 377 // Two dash elements where each one is cut off at beginning and end
respectively |
| 381 drawline(canvas, 32, 16, paint, 56.f, 0, 5.f); | 378 drawline(canvas, 32, 16, paint, 56.f, 0, 5.f); |
| 382 canvas->translate(0, SkIntToScalar(20)); | 379 canvas->translate(0, SkIntToScalar(20)); |
| 383 | 380 |
| 384 // Many dash elements where first and last are cut off at beginning
and end respectively | 381 // Many dash elements where first and last are cut off at beginning
and end respectively |
| 385 drawline(canvas, 32, 16, paint, 584.f, 0, 5.f); | 382 drawline(canvas, 32, 16, paint, 584.f, 0, 5.f); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 401 | 398 |
| 402 static skiagm::GM* F0(void*) { return new DashingGM; } | 399 static skiagm::GM* F0(void*) { return new DashingGM; } |
| 403 static skiagm::GM* F1(void*) { return new Dashing2GM; } | 400 static skiagm::GM* F1(void*) { return new Dashing2GM; } |
| 404 static skiagm::GM* F2(void*) { return new Dashing3GM; } | 401 static skiagm::GM* F2(void*) { return new Dashing3GM; } |
| 405 static skiagm::GM* F3(void*) { return new Dashing4GM; } | 402 static skiagm::GM* F3(void*) { return new Dashing4GM; } |
| 406 | 403 |
| 407 static skiagm::GMRegistry gR0(F0); | 404 static skiagm::GMRegistry gR0(F0); |
| 408 static skiagm::GMRegistry gR1(F1); | 405 static skiagm::GMRegistry gR1(F1); |
| 409 static skiagm::GMRegistry gR2(F2); | 406 static skiagm::GMRegistry gR2(F2); |
| 410 static skiagm::GMRegistry gR3(F3); | 407 static skiagm::GMRegistry gR3(F3); |
| OLD | NEW |