67 {
70
74
77 };
78
81 constexpr SkRect gRects[] = {
90 { 0, 0, 0, 0 },
91 { 0, 0,
W, FLT_EPSILON },
92 { 0, 0, FLT_EPSILON,
H },
93 { 0, 0, FLT_EPSILON, FLT_EPSILON },
94 };
95
96 for (int doFill = 0; doFill <= 1; ++doFill) {
97 for (size_t i = 0; i < std::size(gJoins); ++i) {
99 paint.setStrokeJoin(join);
100
102 for (size_t j = 0; j < std::size(gRects); ++j) {
103 const SkRect& r = gRects[j];
104
108 draw_path(canvas, fillPath, r, join, doFill);
109
111 }
112 acr.restore();
114 }
116 }
117 }
constexpr SkColor SK_ColorWHITE
void translate(SkScalar dx, SkScalar dy)
void drawColor(SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
@ kStroke_Style
set to stroke geometry
@ kStrokeAndFill_Style
sets to stroke and fill geometry
@ kMiter_Join
extends to miter limit
@ kBevel_Join
connects outside edges
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst, const SkRect *cullRect, SkScalar resScale=1)
SINT Vec< 2 *N, T > join(const Vec< N, T > &lo, const Vec< N, T > &hi)
static void draw_path(SkCanvas *canvas, const SkPath &path, const SkRect &rect, SkPaint::Join join, int doFill)