1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc.
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
74de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SampleCode.h"
84de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkView.h"
94de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkCanvas.h"
104de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkGradientShader.h"
114de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
124de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
1371a6cbfc585959738dc0b375603696ca7f60605freedclass TwoPtConicalView : public SampleView {
144de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.compublic:
1571a6cbfc585959738dc0b375603696ca7f60605freed    TwoPtConicalView() {}
164de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
174de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comprotected:
184de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    // overrides from SkEventSink
194de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    virtual bool onQuery(SkEvent* evt) {
204de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        if (SampleCode::TitleQ(*evt)) {
2171a6cbfc585959738dc0b375603696ca7f60605freed            SampleCode::TitleR(evt, "2PtConical");
224de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com            return true;
234de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        }
244de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        return this->INHERITED::onQuery(evt);
254de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    }
264de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
274de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    virtual void onDrawContent(SkCanvas* canvas) {
284de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
294de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
304de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkColor colors[] = { SK_ColorRED, SK_ColorBLUE };
314de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPoint c0 = { 0, 0 };
324de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkScalar r0 = 100;
334de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPoint c1 = { 100, 100 };
344de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkScalar r1 = 100;
354de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPaint paint;
368a21c9fe7f5fef9e87115defef27bd7218419f28reed        paint.setShader(SkGradientShader::MakeTwoPointConical(c0, r0, c1, r1, colors,
378a21c9fe7f5fef9e87115defef27bd7218419f28reed                                                             nullptr, 2,
388a21c9fe7f5fef9e87115defef27bd7218419f28reed                                                             SkShader::kClamp_TileMode));
394de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        canvas->drawPaint(paint);
404de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    }
414de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
424de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comprivate:
434de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    typedef SampleView INHERITED;
444de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com};
454de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
464de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com//////////////////////////////////////////////////////////////////////////////
474de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
4871a6cbfc585959738dc0b375603696ca7f60605freedstatic SkView* MyFactory() { return new TwoPtConicalView; }
494de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comstatic SkViewRegister reg(MyFactory);
50