44 name.printf(
"blur_ignore_xform_%s",
53 for (
int i = 0;
i < kNumBlurs; ++
i) {
57 kBlurFlags[
i].fRespectCTM);
64 paint.setAntiAlias(
true);
69 for (
size_t i = 0;
i < kNumBlurs; ++
i) {
72 for (
auto scale : kMatrixScales) {
81 paint.setMaskFilter(fBlurFilters[
i]);
82 for (
int j = 0; j < 2; ++j) {
84 canvas->
translate(10 * (1 - j), 10 * (1 - j));
92 paint.setMaskFilter(
nullptr);
109 for (
int i = 0;
i < kNumBlurs; ++
i) {
114 for (
auto scale : kMatrixScales) {
121 inline static constexpr int kNumBlurs = 2;
123 static const struct BlurFlags {
126 } kBlurFlags[kNumBlurs];
128 static const struct MatrixScale {
139const BlurIgnoreXformGM::BlurFlags BlurIgnoreXformGM::kBlurFlags[] = {
141 {
false,
"IgnoreTransform"}
144const BlurIgnoreXformGM::MatrixScale BlurIgnoreXformGM::kMatrixScales[] = {
146 {0.5f,
"Scale = 0.5"},
147 {2.0f,
"Scale = 2.0"}
@ kNormal_SkBlurStyle
fuzzy inside and outside
constexpr SkColor SK_ColorBLACK
static SkScalar SK_SPI ConvertRadiusToSigma(SkScalar radius)
void drawRect(const SkRect &rect, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
void drawRRect(const SkRRect &rrect, const SkPaint &paint)
void scale(SkScalar sx, SkScalar sy)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
static sk_sp< SkMaskFilter > MakeBlur(SkBlurStyle style, SkScalar sigma, bool respectCTM=true)
static SkRRect MakeRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
sk_sp< SkBlender > blender SkRect rect
DEF_SWITCHES_START aot vmservice shared library name
font
Font Metadata and Metrics.
static constexpr SkISize Make(int32_t w, int32_t h)
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)