| // Copyright 2020 Google LLC. |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| #include "tools/fiddle/examples.h" |
| REG_FIDDLE(SKIA_LOGO_svg, 816, 464, false, 0) { |
| void draw(SkCanvas* canvas) { |
| canvas->scale(4.0f, 4.0f); |
| const SkColor background = SK_ColorWHITE; // SK_ColorTRANSPARENT; |
| const SkColor rgb[] = {0xFFE94037, 0xFF70BF4F, 0xFF465BA6}; |
| const SkColor lettering = 0xFF292929; |
| const SkColor lineColors[2] = {0x30565656, 0xFF565656}; |
| SkPath s, k, a, triangle; |
| SkPaint p; |
| p.setAntiAlias(true); |
| |
| canvas->clear(background); |
| canvas->scale(0.363f, 0.363f); |
| |
| p.setColor(rgb[1]); |
| canvas->drawRect({326.0, 82.25, 343.9, 249.2}, p); |
| p.setColor(rgb[0]); |
| canvas->drawRect({310.2, 82.25, 327.0, 249.2}, p); |
| p.setColor(rgb[2]); |
| canvas->drawRect({342.9, 82.25, 358.87, 249.2}, p); |
| |
| p.setColor(lettering); |
| canvas->drawCircle(335.355, 45.965, 29.25, p); |
| |
| SkParsePath::FromSVGString("M34.63 100.63C44.38 88.57 59.87 82.86 74.88 81.2" |
| "C97.4 78.5 120.27 83.25 140.87 92.37L127.12 127.14C113.55 121.16 99.04 115.9 83.98 116.56" |
| "C78.86 116.75 72.88 118.54 70.71 123.69C68.62 128.43 71.52 133.68 75.58 136.27" |
| "C91.49 146.66 110.67 151.38 125.46 163.6C132.35 169.11 137.33 176.9 139.36 185.49" |
| "C142.55 199.14 140.94 214.31 133.13 226.17C126.23 236.96 114.82 244.16 102.75 247.89" |
| "C87.95 252.51 72.16 252.21 56.88 250.78C45.54 249.72 34.64 246.05 24.32 241.36" |
| "L24.25 201.1C38.23 208.15 53.37 213.15 68.98 214.75C75.42 215.25 82.17 215.63 88.31 213.27" |
| "C92.84 211.53 96.4 206.93 95.86 201.93C95.64 196.77 91.1 193.38 87.03 190.99" |
| "C71.96 182.67 54.94 177.66 41.5 166.57C33.19 159.73 27.51 149.8 26.1 139.11" |
| "C24.09 125.88 25.91 111.25 34.63 100.63", &s); |
| canvas->drawPath(s, p); |
| |
| SkParsePath::FromSVGString("M160.82 82.85L206.05 82.85L206.05 155.15L254.83 82.84" |
| "L304.01 82.85L251.52 157.27L303.09 249.42L252.28 249.4L219.18 185.75L206.23 193.45" |
| "L206.05 249.42L160.82 249.42L160.82 82.85", &k); |
| canvas->drawPath(k, p); |
| |
| SkParsePath::FromSVGString("M426.45 218.16L480.705 218.16L489.31 249.4L538.54 249.42" |
| "L483.56 82.18L423.43 82.17L369.13 249.42L418.5 249.47L453.75 109.83L471.77 181.28" |
| "L430.5 181.28", &a); |
| canvas->drawPath(a, p); |
| |
| SkParsePath::FromSVGString("M362.64 257.32L335.292 293.392L307.8 257.48L362.64 257.32", |
| &triangle); |
| canvas->drawPath(triangle, p); |
| |
| const SkPoint pts[2] = {{160, 290}, {341, 290}}; |
| p.setShader(SkGradientShader::MakeLinear( |
| pts, lineColors, nullptr, 2, SkTileMode::kClamp)); |
| SkRRect rrect; |
| rrect.setRectXY({138, 291, 341, 300}, 25.0, 5.0); |
| canvas->drawRRect(rrect, p); |
| } |
| } // END FIDDLE |