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 "sk_tool_utils.h" | 8 #include "sk_tool_utils.h" |
9 #include "SampleCode.h" | 9 #include "SampleCode.h" |
10 #include "SkView.h" | 10 #include "SkView.h" |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 } | 386 } |
387 } | 387 } |
388 } | 388 } |
389 | 389 |
390 void draw_stroke(SkCanvas* canvas, const SkPath& path, SkScalar width, SkSca
lar scale, | 390 void draw_stroke(SkCanvas* canvas, const SkPath& path, SkScalar width, SkSca
lar scale, |
391 bool drawText) { | 391 bool drawText) { |
392 if (path.isEmpty()) { | 392 if (path.isEmpty()) { |
393 return; | 393 return; |
394 } | 394 } |
395 SkRect bounds = path.getBounds(); | 395 SkRect bounds = path.getBounds(); |
396 this->setWHZ(SkScalarCeilToInt(bounds.right()), drawText | 396 this->setWHZ(SkScalarCeilToInt(bounds.right()), drawText |
397 ? SkScalarRoundToInt(scale * 3 / 2) : SkScalarRoundToInt(scale), | 397 ? SkScalarRoundToInt(scale * 3 / 2) : SkScalarRoundToInt(scale), |
398 SkScalarRoundToInt(950.0f / scale)); | 398 SkScalarRoundToInt(950.0f / scale)); |
399 erase(fMinSurface); | 399 erase(fMinSurface); |
400 SkPaint paint; | 400 SkPaint paint; |
401 paint.setColor(0x1f1f0f0f); | 401 paint.setColor(0x1f1f0f0f); |
402 paint.setStyle(SkPaint::kStroke_Style); | 402 paint.setStyle(SkPaint::kStroke_Style); |
403 paint.setStrokeWidth(width * scale * scale); | 403 paint.setStrokeWidth(width * scale * scale); |
404 paint.setColor(0x3f0f1f3f); | 404 paint.setColor(0x3f0f1f3f); |
405 if (drawText) { | 405 if (drawText) { |
406 fMinSurface->getCanvas()->drawPath(path, paint); | 406 fMinSurface->getCanvas()->drawPath(path, paint); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 path.addCircle(center.fX, center.fY, maxSide); | 467 path.addCircle(center.fX, center.fY, maxSide); |
468 canvas->drawPath(path, paint); | 468 canvas->drawPath(path, paint); |
469 paint.setStyle(SkPaint::kFill_Style); | 469 paint.setStyle(SkPaint::kFill_Style); |
470 path.reset(); | 470 path.reset(); |
471 path.addCircle(center.fX, center.fY, maxSide - width / 2); | 471 path.addCircle(center.fX, center.fY, maxSide - width / 2); |
472 paint.setColor(0x3f0f1f3f); | 472 paint.setColor(0x3f0f1f3f); |
473 canvas->drawPath(path, paint); | 473 canvas->drawPath(path, paint); |
474 path.reset(); | 474 path.reset(); |
475 path.setFillType(SkPath::kEvenOdd_FillType); | 475 path.setFillType(SkPath::kEvenOdd_FillType); |
476 path.addCircle(center.fX, center.fY, maxSide + width / 2); | 476 path.addCircle(center.fX, center.fY, maxSide + width / 2); |
477 SkRect outside = SkRect::MakeXYWH(center.fX - maxSide - width, center.fY
- maxSide - width, | 477 SkRect outside = SkRect::MakeXYWH(center.fX - maxSide - width, center.fY
- maxSide - width, |
478 (maxSide + width) * 2, (maxSide + width) * 2); | 478 (maxSide + width) * 2, (maxSide + width) * 2); |
479 path.addRect(outside); | 479 path.addRect(outside); |
480 canvas->drawPath(path, paint); | 480 canvas->drawPath(path, paint); |
481 } | 481 } |
482 | 482 |
483 void draw_button(SkCanvas* canvas, const StrokeTypeButton& button) { | 483 void draw_button(SkCanvas* canvas, const StrokeTypeButton& button) { |
484 SkPaint paint; | 484 SkPaint paint; |
485 paint.setAntiAlias(true); | 485 paint.setAntiAlias(true); |
486 paint.setStyle(SkPaint::kStroke_Style); | 486 paint.setStyle(SkPaint::kStroke_Style); |
487 paint.setColor(button.fEnabled ? 0xFF3F0000 : 0x6F3F0000); | 487 paint.setColor(button.fEnabled ? 0xFF3F0000 : 0x6F3F0000); |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 if (fCircleButton.fEnabled) { | 641 if (fCircleButton.fEnabled) { |
642 path.reset(); | 642 path.reset(); |
643 SkRect r; | 643 SkRect r; |
644 r.set(&fPts[15], 2); | 644 r.set(&fPts[15], 2); |
645 path.addOval(r); | 645 path.addOval(r); |
646 setForGeometry(); | 646 setForGeometry(); |
647 if (fCircleButton.fFill) { | 647 if (fCircleButton.fFill) { |
648 if (fArcButton.fEnabled) { | 648 if (fArcButton.fEnabled) { |
649 SkPoint center; | 649 SkPoint center; |
650 if (arcCenter(¢er)) { | 650 if (arcCenter(¢er)) { |
651 r.set(center.fX - fRadius, center.fY - fRadius, center.f
X + fRadius, | 651 r.set(center.fX - fRadius, center.fY - fRadius, center.f
X + fRadius, |
652 center.fY + fRadius); | 652 center.fY + fRadius); |
653 } | 653 } |
654 } | 654 } |
655 draw_fill(canvas, r, width); | 655 draw_fill(canvas, r, width); |
656 } else { | 656 } else { |
657 draw_stroke(canvas, path, width, 950, false); | 657 draw_stroke(canvas, path, width, 950, false); |
658 } | 658 } |
659 } | 659 } |
660 | 660 |
661 if (fTextButton.fEnabled) { | 661 if (fTextButton.fEnabled) { |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 } | 792 } |
793 | 793 |
794 private: | 794 private: |
795 typedef SkView INHERITED; | 795 typedef SkView INHERITED; |
796 }; | 796 }; |
797 | 797 |
798 /////////////////////////////////////////////////////////////////////////////// | 798 /////////////////////////////////////////////////////////////////////////////// |
799 | 799 |
800 static SkView* F2() { return new QuadStrokerView; } | 800 static SkView* F2() { return new QuadStrokerView; } |
801 static SkViewRegister gR2(F2); | 801 static SkViewRegister gR2(F2); |
OLD | NEW |