blob: 5d6d247bcdd7e30f528d47c690b7dae662cbc119 [file] [log] [blame]
reed@google.com55b8e8c2011-01-13 16:22:35 +00001#include "SampleCode.h"
2#include "SkView.h"
3#include "SkCanvas.h"
4#include "SkGradientShader.h"
5
6static SkShader* make_grad(SkScalar w, SkScalar h) {
7 SkColor colors[] = { 0xFF000000, 0xFF333333 };
8 SkPoint pts[] = { { 0, 0 }, { w, h } };
9 return SkGradientShader::CreateLinear(pts, colors, NULL, 2,
10 SkShader::kClamp_TileMode);
11}
12
13class BigGradientView : public SkView {
14public:
15 BigGradientView() {}
16
17protected:
18 // overrides from SkEventSink
19 virtual bool onQuery(SkEvent* evt) {
20 if (SampleCode::TitleQ(*evt)) {
21 SampleCode::TitleR(evt, "BigGradient");
22 return true;
23 }
24 return this->INHERITED::onQuery(evt);
25 }
26
27 void drawBG(SkCanvas* canvas) {
28 }
29
30 virtual void onDraw(SkCanvas* canvas) {
31 SkRect r;
32 r.set(0, 0, this->width(), this->height());
33 SkPaint p;
34 p.setShader(make_grad(this->width(), this->height()))->unref();
35 canvas->drawRect(r, p);
36 }
37
38private:
39 typedef SkView INHERITED;
40};
41
42///////////////////////////////////////////////////////////////////////////////
43
44static SkView* MyFactory() { return new BigGradientView; }
45static SkViewRegister reg(MyFactory);
46