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