4REG_FIDDLE(SkPath_arcto_conic_parametric2, 512, 512,
false, 0) {
24 return {((
s *
s * p0.
x()) + (2 *
s * t *
w * p1.
x()) + (t * t * p2.
x())) /
25 ((
s *
s) + (
w * 2 *
s * t) + (t * t)),
26 ((
s *
s * p0.
y()) + (2 *
s * t *
w * p1.
y()) + (t * t * p2.
y())) /
27 ((
s *
s) + (
w * 2 *
s * t) + (t * t))};
34 paint.setAntiAlias(
true);
36 paint.setStrokeWidth(1);
77 for (
int i = 0;
i <=
N; ++
i) {
87 weightedQuadratic.
moveTo(p0);
88 weightedQuadratic.
conicTo(p1, p2, weight);
90 paint.setStrokeWidth(2.5);
constexpr SkColor SK_ColorYELLOW
static constexpr SkColor SkColorSetARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
REG_FIDDLE(SkPath_arcto_conic_parametric2, 512, 512, false, 0)
#define SkDegreesToRadians(degrees)
#define SkScalarSin(radians)
#define SkScalarCos(radians)
static SkScalar center(float pos0, float pos1)
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
void drawOval(const SkRect &oval, const SkPaint &paint)
void drawPoint(SkScalar x, SkScalar y, const SkPaint &paint)
void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint &paint)
void clear(SkColor color)
void drawPath(const SkPath &path, const SkPaint &paint)
void setColor(SkColor color)
void setAntiAlias(bool aa)
void setStrokeCap(Cap cap)
@ kStroke_Style
set to stroke geometry
void setStrokeWidth(SkScalar width)
SkPath & arcTo(const SkRect &oval, SkScalar startAngle, SkScalar sweepAngle, bool forceMoveTo)
SkPath & moveTo(SkScalar x, SkScalar y)
SkPath & conicTo(SkScalar x1, SkScalar y1, SkScalar x2, SkScalar y2, SkScalar w)
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
constexpr float y() const
constexpr float x() const