SampleBigBlur.cpp revision e16efc1882ab34a0bb3ae361a2d37f840044cf87
1
2/*
3 * Copyright 2011 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8#include "SampleCode.h"
9#include "SkBlurMaskFilter.h"
10#include "SkView.h"
11#include "SkCanvas.h"
12
13class BigBlurView : public SampleView {
14public:
15    BigBlurView() {
16    }
17
18protected:
19    // overrides from SkEventSink
20    virtual bool onQuery(SkEvent* evt) {
21        if (SampleCode::TitleQ(*evt)) {
22            SampleCode::TitleR(evt, "BigBlur");
23            return true;
24        }
25        return this->INHERITED::onQuery(evt);
26    }
27
28    virtual void onDrawContent(SkCanvas* canvas) {
29        SkPaint paint;
30        canvas->save();
31        paint.setColor(SK_ColorBLUE);
32        SkMaskFilter* mf = SkBlurMaskFilter::Create(
33            128,
34            SkBlurMaskFilter::kNormal_BlurStyle,
35            SkBlurMaskFilter::kHighQuality_BlurFlag);
36        paint.setMaskFilter(mf)->unref();
37        canvas->translate(200, 200);
38        canvas->drawCircle(100, 100, 200, paint);
39        canvas->restore();
40    }
41
42private:
43    typedef SkView INHERITED;
44};
45
46//////////////////////////////////////////////////////////////////////////////
47
48static SkView* MyFactory() { return new BigBlurView; }
49static SkViewRegister reg(MyFactory);
50