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:
TwoPtConicalView()15 TwoPtConicalView() {}
16
17 protected:
18 // overrides from SkEventSink
onQuery(SkEvent * evt)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
onDrawContent(SkCanvas * canvas)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
MyFactory()48 static SkView* MyFactory() { return new TwoPtConicalView; }
49 static SkViewRegister reg(MyFactory);
50