• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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