aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleLayers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleLayers.cpp')
-rw-r--r--samplecode/SampleLayers.cpp76
1 files changed, 2 insertions, 74 deletions
diff --git a/samplecode/SampleLayers.cpp b/samplecode/SampleLayers.cpp
index f8ebd7c94f..52bf5b357b 100644
--- a/samplecode/SampleLayers.cpp
+++ b/samplecode/SampleLayers.cpp
@@ -232,80 +232,8 @@ protected:
private:
typedef SkView INHERITED;
};
-DEF_SAMPLE( return new LayersView; )
//////////////////////////////////////////////////////////////////////////////
-#include "SkBlurImageFilter.h"
-#include "SkMatrixConvolutionImageFilter.h"
-#include "SkMorphologyImageFilter.h"
-
-#include "Resources.h"
-#include "SkAnimTimer.h"
-
-class BackdropView : public SampleView {
- SkPoint fCenter;
- SkScalar fAngle;
- SkAutoTUnref<SkImage> fImage;
- SkAutoTUnref<SkImageFilter> fFilter;
-public:
- BackdropView() {
- fCenter.set(200, 150);
- fAngle = 0;
- fImage.reset(GetResourceAsImage("mandrill_512.png"));
- fFilter.reset(SkDilateImageFilter::Create(8, 8));
- }
-
-protected:
- // overrides from SkEventSink
- bool onQuery(SkEvent* evt) override {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "Backdrop");
- return true;
- }
- return this->INHERITED::onQuery(evt);
- }
-
- void onDrawContent(SkCanvas* canvas) override {
- canvas->drawImage(fImage, 0, 0, nullptr);
-
- const SkScalar w = 250;
- const SkScalar h = 150;
- SkPath path;
- path.addOval(SkRect::MakeXYWH(-w/2, -h/2, w, h));
- SkMatrix m;
- m.setRotate(fAngle);
- m.postTranslate(fCenter.x(), fCenter.y());
- path.transform(m);
-
- canvas->clipPath(path, SkRegion::kIntersect_Op, true);
- const SkRect bounds = path.getBounds();
-
- SkPaint paint;
- paint.setAlpha(0xCC);
- canvas->saveLayer({ &bounds, &paint, fFilter, 0 });
-
- canvas->restore();
- }
-
- bool onAnimate(const SkAnimTimer& timer) override {
- fAngle = SkDoubleToScalar(fmod(timer.secs() * 360 / 5, 360));
- return true;
- }
-
- SkView::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
- this->inval(nullptr);
- return new Click(this);
- }
-
- bool onClick(Click* click) override {
- this->inval(nullptr);
- fCenter = click->fCurr;
- return this->INHERITED::onClick(click);
- }
-
-private:
- typedef SampleView INHERITED;
-};
-DEF_SAMPLE( return new BackdropView; )
-
+static SkView* MyFactory() { return new LayersView; }
+static SkViewRegister reg(MyFactory);