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