97 paint.setAntiAlias(
true);
101 for (
size_t style = 0; style < std::size(kStyle); ++style) {
102 for (
size_t cap = 0; cap < std::size(kCap); ++cap) {
103 for (
size_t join = 0; join < std::size(kJoin); ++join) {
110 paint.setStyle(kStyle[style]);
111 paint.setStrokeCap(kCap[cap]);
112 paint.setStrokeJoin(kJoin[join]);
139 using INHERITED =
GM;
144DEF_GM(
return new NonClosedPathsGM;)
void translate(SkScalar dx, SkScalar dy)
void drawPath(const SkPath &path, const SkPaint &paint)
@ kButt_Cap
no stroke extension
@ kStroke_Style
set to stroke geometry
@ kFill_Style
set to fill geometry
@ kStrokeAndFill_Style
sets to stroke and fill geometry
static constexpr int kJoinCount
@ kMiter_Join
extends to miter limit
@ kBevel_Join
connects outside edges
SkISize getISize() override
SkString getName() const override
static void SetLocation(SkCanvas *canvas, int counter, int lineNum)
static SkPath MakePath(ClosureType type)
void onDraw(SkCanvas *canvas) override
static constexpr float kStrokeWidth
static constexpr SkISize Make(int32_t w, int32_t h)