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