aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleFatBits.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@chromium.org>2015-11-16 18:57:18 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-11-16 18:57:19 -0800
commita5d120769bbbaacea397d667d630a11b6a8ea97a (patch)
tree11e6840f5531ddea041e131f2e8d55f4d5a5711f /samplecode/SampleFatBits.cpp
parentee9fe1e6f39a37d522ea700873b0e5c08f0c6674 (diff)
add caps option 'k' to FatBits
BUG=skia: TBR= Review URL: https://codereview.chromium.org/1452973002
Diffstat (limited to 'samplecode/SampleFatBits.cpp')
-rw-r--r--samplecode/SampleFatBits.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/samplecode/SampleFatBits.cpp b/samplecode/SampleFatBits.cpp
index 0a47259d83..f3a2f6c54a 100644
--- a/samplecode/SampleFatBits.cpp
+++ b/samplecode/SampleFatBits.cpp
@@ -47,6 +47,7 @@ public:
fUseClip = false;
fRectAsOval = false;
fUseTriangle = false;
+ fStrokeCap = SkPaint::kButt_Cap;
fClipRect.set(2, 2, 11, 8 );
}
@@ -102,6 +103,8 @@ public:
void drawRect(SkCanvas* canvas, SkPoint pts[2]);
void drawTriangle(SkCanvas* canvas, SkPoint pts[3]);
+ SkPaint::Cap fStrokeCap;
+
private:
bool fAA, fGrid, fShowSkeleton, fUseGPU, fUseClip, fRectAsOval, fUseTriangle;
Style fStyle;
@@ -114,6 +117,7 @@ private:
void setupPaint(SkPaint* paint) {
bool aa = this->getAA();
+ paint->setStrokeCap(fStrokeCap);
switch (fStyle) {
case kHair_Style:
paint->setStrokeWidth(0);
@@ -246,10 +250,14 @@ void FatBits::drawLineSkeleton(SkCanvas* max, const SkPoint pts[]) {
SkPaint p;
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1 * fZoom);
+ p.setStrokeCap(fStrokeCap);
SkPath dst;
p.getFillPath(path, &dst);
path = dst;
+ path.moveTo(pts[0]);
+ path.lineTo(pts[1]);
+
if (fUseGPU) {
path.moveTo(dst.getPoint(0));
path.lineTo(dst.getPoint(2));
@@ -430,6 +438,14 @@ protected:
this->setStyle(FatBits::kStroke_Style);
}
return true;
+ case 'k': {
+ const SkPaint::Cap caps[] = {
+ SkPaint::kButt_Cap, SkPaint::kRound_Cap, SkPaint::kSquare_Cap,
+ };
+ fFB.fStrokeCap = caps[(fFB.fStrokeCap + 1) % 3];
+ this->inval(nullptr);
+ return true;
+ } break;
case 'a':
fFB.setAA(!fFB.getAA());
this->inval(nullptr);