diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-05-25 20:13:50 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-05-25 20:13:50 +0000 |
commit | d9097e0256bf7c778cba0438fb1a1ee65b1b78f5 (patch) | |
tree | 2caa5c8b86cd7d823e900cce711e9d84245cf96f /samplecode/SampleStrokeRect.cpp | |
parent | 03c2ef5473cdffc9ec4ab52b106b3bdebab49de6 (diff) |
add
git-svn-id: http://skia.googlecode.com/svn/trunk@1422 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleStrokeRect.cpp')
-rw-r--r-- | samplecode/SampleStrokeRect.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/samplecode/SampleStrokeRect.cpp b/samplecode/SampleStrokeRect.cpp new file mode 100644 index 0000000000..20c9e2ce88 --- /dev/null +++ b/samplecode/SampleStrokeRect.cpp @@ -0,0 +1,69 @@ +#include "SampleCode.h" +#include "SkView.h" +#include "SkCanvas.h" +#include "SkDevice.h" +#include "SkPaint.h" + +class StrokeRectSample : public SampleView { +public: + StrokeRectSample() {} + +protected: + // overrides from SkEventSink + virtual bool onQuery(SkEvent* evt) { + if (SampleCode::TitleQ(*evt)) { + SampleCode::TitleR(evt, "Stroke Rects"); + return true; + } + return this->INHERITED::onQuery(evt); + } + + virtual void onDrawContent(SkCanvas* canvas) { + SkPaint paint; + paint.setAntiAlias(true); + paint.setStyle(SkPaint::kStroke_Style); + paint.setStrokeWidth(SkIntToScalar(20)); + + SkPaint hair; + hair.setStyle(SkPaint::kStroke_Style); + hair.setColor(SK_ColorRED); + + static const SkISize gSize[] = { + { 100, 50 }, + { 100, 0 }, + { 0, 50 }, + { 0, 0 } + }; + + static const SkPaint::Join gJoin[] = { + SkPaint::kMiter_Join, + SkPaint::kRound_Join, + SkPaint::kBevel_Join + }; + + canvas->translate(paint.getStrokeWidth(), paint.getStrokeWidth()); + for (size_t i = 0; i < SK_ARRAY_COUNT(gJoin); ++i) { + paint.setStrokeJoin(gJoin[i]); + + canvas->save(); + for (size_t j = 0; j < SK_ARRAY_COUNT(gSize); ++j) { + SkRect r = SkRect::MakeWH(SkIntToScalar(gSize[j].fWidth), + SkIntToScalar(gSize[j].fHeight)); + canvas->drawRect(r, paint); + canvas->drawRect(r, hair); + canvas->translate(0, SkIntToScalar(100)); + } + canvas->restore(); + canvas->translate(SkIntToScalar(150), 0); + } + } + +private: + typedef SampleView INHERITED; +}; + +/////////////////////////////////////////////////////////////////////////////// + +static SkView* MyFactory() { return new StrokeRectSample; } +static SkViewRegister reg(MyFactory); + |