1c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter/*
21fa32a803b1359b2709e94893307bcd748665ff5Karl Schultz * Copyright 2011 Google Inc.
31fa32a803b1359b2709e94893307bcd748665ff5Karl Schultz *
41fa32a803b1359b2709e94893307bcd748665ff5Karl Schultz * Use of this source code is governed by a BSD-style license that can be
5c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter * found in the LICENSE file.
643b53e83705f02245da6ae61e31273866a35b833Jon Ashburn */
743b53e83705f02245da6ae61e31273866a35b833Jon Ashburn#include "SampleCode.h"
843b53e83705f02245da6ae61e31273866a35b833Jon Ashburn#include "SkBlurMask.h"
9c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter#include "SkBlurMaskFilter.h"
1043b53e83705f02245da6ae61e31273866a35b833Jon Ashburn#include "SkCanvas.h"
1196cd795bb585711057cd90d37a2251419384c937Courtney Goeltzenleuchter#include "SkView.h"
121fa32a803b1359b2709e94893307bcd748665ff5Karl Schultz
13c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchterclass BigBlurView : public SampleView {
14c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchterpublic:
15acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop    BigBlurView() {
16acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop    }
17c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter
184115c8991c42419cca0d2613cb8c033b7566cad7Chia-I Wuprotected:
19c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter    // overrides from SkEventSink
20acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop    virtual bool onQuery(SkEvent* evt) {
21acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop        if (SampleCode::TitleQ(*evt)) {
224115c8991c42419cca0d2613cb8c033b7566cad7Chia-I Wu            SampleCode::TitleR(evt, "BigBlur");
23acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop            return true;
244115c8991c42419cca0d2613cb8c033b7566cad7Chia-I Wu        }
254115c8991c42419cca0d2613cb8c033b7566cad7Chia-I Wu        return this->INHERITED::onQuery(evt);
2652ec336a8c935015855a25116ae22a186e71f28aCourtney Goeltzenleuchter    }
27c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter
28c6438002bc31420c1ab52978a99515fb132b34f8Courtney Goeltzenleuchter    virtual void onDrawContent(SkCanvas* canvas) {
29acfb0491b89d57c3915f661edaad114d64d87386Cody Northrop        SkPaint paint;
30        canvas->save();
31        paint.setColor(SK_ColorBLUE);
32        paint.setMaskFilter(SkBlurMaskFilter::Make(
33            kNormal_SkBlurStyle,
34            SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(128)),
35            SkBlurMaskFilter::kHighQuality_BlurFlag));
36        canvas->translate(200, 200);
37        canvas->drawCircle(100, 100, 200, paint);
38        canvas->restore();
39    }
40
41private:
42    typedef SkView INHERITED;
43};
44
45//////////////////////////////////////////////////////////////////////////////
46
47static SkView* MyFactory() { return new BigBlurView; }
48static SkViewRegister reg(MyFactory);
49