1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc.
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
84de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SampleCode.h"
94de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkView.h"
104de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkCanvas.h"
114de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com#include "SkGradientShader.h"
124de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
134de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
144de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comclass TwoPtRadialView : public SampleView {
154de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.compublic:
164de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    TwoPtRadialView() {}
174de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
184de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comprotected:
194de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    // overrides from SkEventSink
204de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    virtual bool onQuery(SkEvent* evt) {
214de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        if (SampleCode::TitleQ(*evt)) {
224de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com            SampleCode::TitleR(evt, "2PtRadial");
234de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com            return true;
244de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        }
254de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        return this->INHERITED::onQuery(evt);
264de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    }
274de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
284de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    virtual void onDrawContent(SkCanvas* canvas) {
294de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
304de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
314de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkColor colors[] = { SK_ColorRED, SK_ColorBLUE };
324de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPoint c0 = { 0, 0 };
334de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkScalar r0 = 100;
344de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPoint c1 = { 100, 100 };
354de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkScalar r1 = 100;
364de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkShader* s = SkGradientShader::CreateTwoPointRadial(c0, r0, c1, r1, colors,
374de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com                                                             NULL, 2,
384de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com                                                             SkShader::kClamp_TileMode);
39ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
404de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        SkPaint paint;
414de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        paint.setShader(s)->unref();
424de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com        canvas->drawPaint(paint);
434de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    }
444de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
454de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comprivate:
464de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com    typedef SampleView INHERITED;
474de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com};
484de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
494de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com//////////////////////////////////////////////////////////////////////////////
504de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.com
514de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comstatic SkView* MyFactory() { return new TwoPtRadialView; }
524de4d60a1bb295c2bbac5dc82f69c22c109adc60reed@google.comstatic SkViewRegister reg(MyFactory);
53