1 /* 2 * Copyright 2011 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #include "SampleCode.h" 8 #include "SkView.h" 9 #include "SkCanvas.h" 10 #include "SkGradientShader.h" 11 12 13 class TwoPtConicalView : public SampleView { 14 public: 15 TwoPtConicalView() {} 16 17 protected: 18 // overrides from SkEventSink 19 virtual bool onQuery(SkEvent* evt) { 20 if (SampleCode::TitleQ(*evt)) { 21 SampleCode::TitleR(evt, "2PtConical"); 22 return true; 23 } 24 return this->INHERITED::onQuery(evt); 25 } 26 27 virtual void onDrawContent(SkCanvas* canvas) { 28 canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); 29 30 SkColor colors[] = { SK_ColorRED, SK_ColorBLUE }; 31 SkPoint c0 = { 0, 0 }; 32 SkScalar r0 = 100; 33 SkPoint c1 = { 100, 100 }; 34 SkScalar r1 = 100; 35 SkPaint paint; 36 paint.setShader(SkGradientShader::MakeTwoPointConical(c0, r0, c1, r1, colors, 37 nullptr, 2, 38 SkShader::kClamp_TileMode)); 39 canvas->drawPaint(paint); 40 } 41 42 private: 43 typedef SampleView INHERITED; 44 }; 45 46 ////////////////////////////////////////////////////////////////////////////// 47 48 static SkView* MyFactory() { return new TwoPtConicalView; } 49 static SkViewRegister reg(MyFactory); 50