Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
skpaint_blur_mask_filter_2.cpp
Go to the documentation of this file.
1// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4REG_FIDDLE(skpaint_blur_mask_filter_2, 256, 256, false, 0) {
5void draw(SkCanvas* canvas) {
6 const SkScalar blurSigma = 3.4f;
7 const SkColor blurColor = SkColorSetRGB(96, 96, 0);
8 const uint8_t blurAlpha = 127;
9 const SkScalar xDrop = 5.0f;
10 const SkScalar yDrop = 5.0f;
11
12 const char text[] = "Skia";
13 const SkScalar x = 0.0f;
14 const SkScalar y = 160.0f;
15
16 canvas->drawColor(SK_ColorWHITE);
17
19 paint.setAntiAlias(true);
20
21 SkPaint blur(paint);
22 blur.setColor(blurColor);
23 blur.setAlpha(blurAlpha);
25
26 SkFont font(fontMgr->matchFamilyStyle(nullptr, {}), 120);
27
28 // Draw once with drop shadow blur;
29 canvas->drawString(text, x + xDrop, y + yDrop, font, blur);
30
31 // Overdraw with with no blur mask
32 canvas->drawString(text, x, y, font, paint);
33}
34} // END FIDDLE
@ kNormal_SkBlurStyle
fuzzy inside and outside
Definition SkBlurTypes.h:12
uint32_t SkColor
Definition SkColor.h:37
#define SkColorSetRGB(r, g, b)
Definition SkColor.h:57
constexpr SkColor SK_ColorWHITE
Definition SkColor.h:122
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
void drawColor(SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
Definition SkCanvas.h:1182
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
Definition SkCanvas.h:1803
sk_sp< SkTypeface > matchFamilyStyle(const char familyName[], const SkFontStyle &) const
static sk_sp< SkMaskFilter > MakeBlur(SkBlurStyle style, SkScalar sigma, bool respectCTM=true)
void setColor(SkColor color)
Definition SkPaint.cpp:119
void setAlpha(U8CPU a)
Definition SkPaint.h:279
void setMaskFilter(sk_sp< SkMaskFilter > maskFilter)
const Paint & paint
sk_sp< SkFontMgr > fontMgr
Definition examples.cpp:32
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
float SkScalar
Definition extension.cpp:12
std::u16string text
double y
double x