diff options
Diffstat (limited to 'samplecode/SampleAvoid.cpp')
| -rw-r--r-- | samplecode/SampleAvoid.cpp | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/samplecode/SampleAvoid.cpp b/samplecode/SampleAvoid.cpp deleted file mode 100644 index aa7ca0e8ef..0000000000 --- a/samplecode/SampleAvoid.cpp +++ /dev/null @@ -1,105 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#include "SampleCode.h" -#include "SkView.h" -#include "SkCanvas.h" -#include "SkGradientShader.h" -#include "SkAvoidXfermode.h" - -/////////////////////////////////////////////////////////////////////////////// - -class AvoidView : public SampleView { - SkShader* fShader; - - enum { - W = 480, - H = 320 - }; -public: - AvoidView() { - SkColor colors[] = { SK_ColorRED, SK_ColorYELLOW, SK_ColorGREEN, SK_ColorCYAN, SK_ColorBLUE }; - -#if 0 - SkPoint pts[] = { 0, 0, SkIntToScalar(100), SkIntToScalar(100) }; - fShader = SkGradientShader::CreateLinear(pts, colors, NULL, - SK_ARRAY_COUNT(colors), - SkShader::kMirror_TileMode); -#else - SkPoint pts[] = { { SkIntToScalar(W)/2, SkIntToScalar(H)/2 } }; - fShader = SkGradientShader::CreateRadial(pts[0], SkIntToScalar(H)/5, - colors, NULL, - SK_ARRAY_COUNT(colors), - SkShader::kMirror_TileMode); -#endif - } - - virtual ~AvoidView() { - fShader->unref(); - } - -protected: - virtual bool onQuery(SkEvent* evt) { - if (SampleCode::TitleQ(*evt)) { - SampleCode::TitleR(evt, "AvoidXfermode"); - return true; - } - return this->INHERITED::onQuery(evt); - } - - virtual void onDrawContent(SkCanvas* canvas) { - SkPaint paint; - SkRect r = { 0, 0, SkIntToScalar(W), SkIntToScalar(H) }; - - canvas->translate(r.width() / 6, r.height() / 6); - - paint.setShader(fShader); - canvas->drawRect(r, paint); - - static const struct { - int fTolerance; - SkAvoidXfermode::Mode fMode; - float fDX, fDY; - } gData[] = { - { 16, SkAvoidXfermode::kAvoidColor_Mode, 0, 0 }, - { 255-16, SkAvoidXfermode::kAvoidColor_Mode, 1, 0 }, - { 16, SkAvoidXfermode::kTargetColor_Mode, 0, 1 }, - { 255-16, SkAvoidXfermode::kTargetColor_Mode, 1, 1 }, - }; - - paint.setShader(NULL); - paint.setColor(SK_ColorMAGENTA); - - SkPaint frameP; - frameP.setStyle(SkPaint::kStroke_Style); - - for (size_t i = 0; i < SK_ARRAY_COUNT(gData); i++) { - SkAutoTUnref<SkAvoidXfermode> mode(SkAvoidXfermode::Create( - SK_ColorGREEN, gData[i].fTolerance, gData[i].fMode)); - paint.setXfermode(mode); - int div = 3; - SkRect rr = { 0, 0, r.width()/div, r.height()/div }; - rr.offset(r.width()/4 - rr.width()/2, r.height()/4 - rr.height()/2); - rr.offset(r.width() * gData[i].fDX/2, r.height() * gData[i].fDY/2); - canvas->drawRect(rr, paint); - paint.setXfermode(NULL); - - canvas->drawRect(rr, frameP); - } - } - -private: - typedef SampleView INHERITED; -}; - -////////////////////////////////////////////////////////////////////////////// - -static SkView* MyFactory() { - return new AvoidView; -} - -static SkViewRegister reg(MyFactory); |
