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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 StrokeTypeButton fTextButton; | 115 StrokeTypeButton fTextButton; |
116 SkString fText; | 116 SkString fText; |
117 SkScalar fTextSize; | 117 SkScalar fTextSize; |
118 SkScalar fWeight; | 118 SkScalar fWeight; |
119 SkScalar fWidth, fDWidth; | 119 SkScalar fWidth, fDWidth; |
120 SkScalar fWidthScale; | 120 SkScalar fWidthScale; |
121 int fW, fH, fZoom; | 121 int fW, fH, fZoom; |
122 bool fAnimate; | 122 bool fAnimate; |
123 bool fDrawRibs; | 123 bool fDrawRibs; |
124 bool fDrawTangents; | 124 bool fDrawTangents; |
125 #if !defined SK_LEGACY_STROKE_CURVES && defined(SK_DEBUG) | 125 #ifdef SK_DEBUG |
126 #define kStrokerErrorMin 0.001f | 126 #define kStrokerErrorMin 0.001f |
127 #define kStrokerErrorMax 5 | 127 #define kStrokerErrorMax 5 |
128 #endif | 128 #endif |
129 #define kWidthMin 1 | 129 #define kWidthMin 1 |
130 #define kWidthMax 100 | 130 #define kWidthMax 100 |
131 public: | 131 public: |
132 QuadStrokerView() { | 132 QuadStrokerView() { |
133 this->setBGColor(SK_ColorLTGRAY); | 133 this->setBGColor(SK_ColorLTGRAY); |
134 | 134 |
135 fPts[0].set(50, 200); // cubic | 135 fPts[0].set(50, 200); // cubic |
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 if (fDWidth > 0 && fWidth > kWidthMax) { | 522 if (fDWidth > 0 && fWidth > kWidthMax) { |
523 fDWidth = -fDWidth; | 523 fDWidth = -fDWidth; |
524 } else if (fDWidth < 0 && fWidth < kWidthMin) { | 524 } else if (fDWidth < 0 && fWidth < kWidthMin) { |
525 fDWidth = -fDWidth; | 525 fDWidth = -fDWidth; |
526 } | 526 } |
527 } | 527 } |
528 setAsNeeded(); | 528 setAsNeeded(); |
529 if (fConicButton.fEnabled) { | 529 if (fConicButton.fEnabled) { |
530 draw_control(canvas, fWeightControl, fWeight, 0, 5, "weight"); | 530 draw_control(canvas, fWeightControl, fWeight, 0, 5, "weight"); |
531 } | 531 } |
532 #if !defined SK_LEGACY_STROKE_CURVES && defined(SK_DEBUG) | 532 #ifdef SK_DEBUG |
533 draw_control(canvas, fErrorControl, gDebugStrokerError, kStrokerErrorMin
, kStrokerErrorMax, | 533 draw_control(canvas, fErrorControl, gDebugStrokerError, kStrokerErrorMin
, kStrokerErrorMax, |
534 "error"); | 534 "error"); |
535 #endif | 535 #endif |
536 draw_control(canvas, fWidthControl, fWidth * fWidthScale, kWidthMin * fW
idthScale, | 536 draw_control(canvas, fWidthControl, fWidth * fWidthScale, kWidthMin * fW
idthScale, |
537 kWidthMax * fWidthScale, "width"); | 537 kWidthMax * fWidthScale, "width"); |
538 draw_button(canvas, fQuadButton); | 538 draw_button(canvas, fQuadButton); |
539 draw_button(canvas, fCubicButton); | 539 draw_button(canvas, fCubicButton); |
540 draw_button(canvas, fConicButton); | 540 draw_button(canvas, fConicButton); |
541 draw_button(canvas, fRRectButton); | 541 draw_button(canvas, fRRectButton); |
542 draw_button(canvas, fCircleButton); | 542 draw_button(canvas, fCircleButton); |
(...skipping 11 matching lines...) Expand all Loading... |
554 unsigned modi) override { | 554 unsigned modi) override { |
555 for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); ++i) { | 555 for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); ++i) { |
556 if (hittest(fPts[i], x, y)) { | 556 if (hittest(fPts[i], x, y)) { |
557 return new MyClick(this, (int)i); | 557 return new MyClick(this, (int)i); |
558 } | 558 } |
559 } | 559 } |
560 const SkRect& rectPt = SkRect::MakeXYWH(x, y, 1, 1); | 560 const SkRect& rectPt = SkRect::MakeXYWH(x, y, 1, 1); |
561 if (fWeightControl.contains(rectPt)) { | 561 if (fWeightControl.contains(rectPt)) { |
562 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 1); | 562 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 1); |
563 } | 563 } |
564 #if !defined SK_LEGACY_STROKE_CURVES && defined(SK_DEBUG) | 564 #ifdef SK_DEBUG |
565 if (fErrorControl.contains(rectPt)) { | 565 if (fErrorControl.contains(rectPt)) { |
566 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 2); | 566 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 2); |
567 } | 567 } |
568 #endif | 568 #endif |
569 if (fWidthControl.contains(rectPt)) { | 569 if (fWidthControl.contains(rectPt)) { |
570 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 3); | 570 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 3); |
571 } | 571 } |
572 if (fCubicButton.fBounds.contains(rectPt)) { | 572 if (fCubicButton.fBounds.contains(rectPt)) { |
573 fCubicButton.fEnabled ^= true; | 573 fCubicButton.fEnabled ^= true; |
574 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 4); | 574 return new MyClick(this, (int) SK_ARRAY_COUNT(fPts) + 4); |
(...skipping 30 matching lines...) Expand all Loading... |
605 | 605 |
606 bool onClick(Click* click) override { | 606 bool onClick(Click* click) override { |
607 int index = ((MyClick*)click)->fIndex; | 607 int index = ((MyClick*)click)->fIndex; |
608 if (index < (int) SK_ARRAY_COUNT(fPts)) { | 608 if (index < (int) SK_ARRAY_COUNT(fPts)) { |
609 fPts[index].offset(SkIntToScalar(click->fICurr.fX - click->fIPrev.fX
), | 609 fPts[index].offset(SkIntToScalar(click->fICurr.fX - click->fIPrev.fX
), |
610 SkIntToScalar(click->fICurr.fY - click->fIPrev.fY
)); | 610 SkIntToScalar(click->fICurr.fY - click->fIPrev.fY
)); |
611 this->inval(NULL); | 611 this->inval(NULL); |
612 } else if (index == (int) SK_ARRAY_COUNT(fPts) + 1) { | 612 } else if (index == (int) SK_ARRAY_COUNT(fPts) + 1) { |
613 fWeight = MapScreenYtoValue(click->fICurr.fY, fWeightControl, 0, 5); | 613 fWeight = MapScreenYtoValue(click->fICurr.fY, fWeightControl, 0, 5); |
614 } | 614 } |
615 #if !defined SK_LEGACY_STROKE_CURVES && defined(SK_DEBUG) | 615 #ifdef SK_DEBUG |
616 else if (index == (int) SK_ARRAY_COUNT(fPts) + 2) { | 616 else if (index == (int) SK_ARRAY_COUNT(fPts) + 2) { |
617 gDebugStrokerError = SkTMax(FLT_EPSILON, MapScreenYtoValue(click->fI
Curr.fY, | 617 gDebugStrokerError = SkTMax(FLT_EPSILON, MapScreenYtoValue(click->fI
Curr.fY, |
618 fErrorControl, kStrokerErrorMin, kStrokerErrorMax)); | 618 fErrorControl, kStrokerErrorMin, kStrokerErrorMax)); |
619 gDebugStrokerErrorSet = true; | 619 gDebugStrokerErrorSet = true; |
620 } | 620 } |
621 #endif | 621 #endif |
622 else if (index == (int) SK_ARRAY_COUNT(fPts) + 3) { | 622 else if (index == (int) SK_ARRAY_COUNT(fPts) + 3) { |
623 fWidth = SkTMax(FLT_EPSILON, MapScreenYtoValue(click->fICurr.fY, fWi
dthControl, | 623 fWidth = SkTMax(FLT_EPSILON, MapScreenYtoValue(click->fICurr.fY, fWi
dthControl, |
624 kWidthMin, kWidthMax)); | 624 kWidthMin, kWidthMax)); |
625 fAnimate = fWidth <= kWidthMin; | 625 fAnimate = fWidth <= kWidthMin; |
626 } | 626 } |
627 return true; | 627 return true; |
628 } | 628 } |
629 | 629 |
630 private: | 630 private: |
631 typedef SkView INHERITED; | 631 typedef SkView INHERITED; |
632 }; | 632 }; |
633 | 633 |
634 /////////////////////////////////////////////////////////////////////////////// | 634 /////////////////////////////////////////////////////////////////////////////// |
635 | 635 |
636 static SkView* F2() { return new QuadStrokerView; } | 636 static SkView* F2() { return new QuadStrokerView; } |
637 static SkViewRegister gR2(F2); | 637 static SkViewRegister gR2(F2); |
OLD | NEW |