• 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 "Sample.h"
8 #include "SkCanvas.h"
9 #include "SkGradientShader.h"
10 
11 
12 class TwoPtConicalView : public Sample {
13 public:
TwoPtConicalView()14     TwoPtConicalView() {}
15 
16 protected:
onQuery(Sample::Event * evt)17     virtual bool onQuery(Sample::Event* evt) {
18         if (Sample::TitleQ(*evt)) {
19             Sample::TitleR(evt, "2PtConical");
20             return true;
21         }
22         return this->INHERITED::onQuery(evt);
23     }
24 
onDrawContent(SkCanvas * canvas)25     virtual void onDrawContent(SkCanvas* canvas) {
26         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
27 
28         SkColor colors[] = { SK_ColorRED, SK_ColorBLUE };
29         SkPoint c0 = { 0, 0 };
30         SkScalar r0 = 100;
31         SkPoint c1 = { 100, 100 };
32         SkScalar r1 = 100;
33         SkPaint paint;
34         paint.setShader(SkGradientShader::MakeTwoPointConical(c0, r0, c1, r1, colors,
35                                                              nullptr, 2,
36                                                              SkShader::kClamp_TileMode));
37         canvas->drawPaint(paint);
38     }
39 
40 private:
41     typedef Sample INHERITED;
42 };
43 
44 //////////////////////////////////////////////////////////////////////////////
45 
46 DEF_SAMPLE( return new TwoPtConicalView(); )
47