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
13class TwoPtConicalView : public SampleView {
14public:
15    TwoPtConicalView() {}
16
17protected:
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
42private:
43    typedef SampleView INHERITED;
44};
45
46//////////////////////////////////////////////////////////////////////////////
47
48static SkView* MyFactory() { return new TwoPtConicalView; }
49static SkViewRegister reg(MyFactory);
50