2011-07-28 14:26:00 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
2016-03-09 02:50:00 +00:00
|
|
|
|
2011-01-13 16:22:35 +00:00
|
|
|
#include "SampleCode.h"
|
|
|
|
#include "SkView.h"
|
|
|
|
#include "SkCanvas.h"
|
|
|
|
#include "SkGradientShader.h"
|
|
|
|
|
2016-03-09 02:50:00 +00:00
|
|
|
static sk_sp<SkShader> make_grad(SkScalar w, SkScalar h) {
|
2011-01-13 16:22:35 +00:00
|
|
|
SkColor colors[] = { 0xFF000000, 0xFF333333 };
|
|
|
|
SkPoint pts[] = { { 0, 0 }, { w, h } };
|
2016-03-09 02:50:00 +00:00
|
|
|
return SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kClamp_TileMode);
|
2011-01-13 16:22:35 +00:00
|
|
|
}
|
|
|
|
|
2011-05-11 05:58:58 +00:00
|
|
|
class BigGradientView : public SampleView {
|
2011-01-13 16:22:35 +00:00
|
|
|
public:
|
2012-08-23 18:19:56 +00:00
|
|
|
BigGradientView() {}
|
2011-01-13 16:22:35 +00:00
|
|
|
|
|
|
|
protected:
|
2016-03-09 02:50:00 +00:00
|
|
|
bool onQuery(SkEvent* evt) override {
|
2011-01-13 16:22:35 +00:00
|
|
|
if (SampleCode::TitleQ(*evt)) {
|
|
|
|
SampleCode::TitleR(evt, "BigGradient");
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return this->INHERITED::onQuery(evt);
|
|
|
|
}
|
|
|
|
|
2016-03-09 02:50:00 +00:00
|
|
|
void onDrawContent(SkCanvas* canvas) override {
|
2011-01-13 16:22:35 +00:00
|
|
|
SkRect r;
|
|
|
|
r.set(0, 0, this->width(), this->height());
|
|
|
|
SkPaint p;
|
2016-03-09 02:50:00 +00:00
|
|
|
p.setShader(make_grad(this->width(), this->height()));
|
2011-01-13 16:22:35 +00:00
|
|
|
canvas->drawRect(r, p);
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
2011-05-11 05:58:58 +00:00
|
|
|
typedef SampleView INHERITED;
|
2011-01-13 16:22:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
static SkView* MyFactory() { return new BigGradientView; }
|
|
|
|
static SkViewRegister reg(MyFactory);
|