blob: 5ebb5162f3e98b2123e4c8097aae89eb14647801 [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
reed@google.com0faac1e2011-05-11 05:58:58 +000013class BigGradientView : public SampleView {
reed@google.com55b8e8c2011-01-13 16:22:35 +000014public:
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
reed@google.com0faac1e2011-05-11 05:58:58 +000027 virtual void onDrawContent(SkCanvas* canvas) {
reed@google.com55b8e8c2011-01-13 16:22:35 +000028 SkRect r;
29 r.set(0, 0, this->width(), this->height());
30 SkPaint p;
31 p.setShader(make_grad(this->width(), this->height()))->unref();
32 canvas->drawRect(r, p);
33 }
34
35private:
reed@google.com0faac1e2011-05-11 05:58:58 +000036 typedef SampleView INHERITED;
reed@google.com55b8e8c2011-01-13 16:22:35 +000037};
38
39///////////////////////////////////////////////////////////////////////////////
40
41static SkView* MyFactory() { return new BigGradientView; }
42static SkViewRegister reg(MyFactory);
43