mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 10:27:34 +00:00
LibGfx: Pass angles as floats to Path::elliptical_arc_to()
These are stored as floats internally and other parameters are FloatPoints, so taking doubles is a little inconsistent. Doubles are needed for the endpoint -> center parametrization conversion, but that does not need exposing in the API.
This commit is contained in:
parent
58c91f0a99
commit
8d4f90df4e
2 changed files with 5 additions and 5 deletions
|
@ -14,15 +14,15 @@
|
||||||
|
|
||||||
namespace Gfx {
|
namespace Gfx {
|
||||||
|
|
||||||
void Path::elliptical_arc_to(FloatPoint point, FloatSize radii, double x_axis_rotation, bool large_arc, bool sweep)
|
void Path::elliptical_arc_to(FloatPoint point, FloatSize radii, float x_axis_rotation, bool large_arc, bool sweep)
|
||||||
{
|
{
|
||||||
auto next_point = point;
|
auto next_point = point;
|
||||||
|
|
||||||
double rx = radii.width();
|
double rx = radii.width();
|
||||||
double ry = radii.height();
|
double ry = radii.height();
|
||||||
|
|
||||||
double x_axis_rotation_c = AK::cos(x_axis_rotation);
|
double x_axis_rotation_c = AK::cos(static_cast<double>(x_axis_rotation));
|
||||||
double x_axis_rotation_s = AK::sin(x_axis_rotation);
|
double x_axis_rotation_s = AK::sin(static_cast<double>(x_axis_rotation));
|
||||||
|
|
||||||
// Find the last point
|
// Find the last point
|
||||||
FloatPoint last_point { 0, 0 };
|
FloatPoint last_point { 0, 0 };
|
||||||
|
|
|
@ -184,14 +184,14 @@ public:
|
||||||
invalidate_split_lines();
|
invalidate_split_lines();
|
||||||
}
|
}
|
||||||
|
|
||||||
void elliptical_arc_to(FloatPoint point, FloatSize radii, double x_axis_rotation, bool large_arc, bool sweep);
|
void elliptical_arc_to(FloatPoint point, FloatSize radii, float x_axis_rotation, bool large_arc, bool sweep);
|
||||||
void arc_to(FloatPoint point, float radius, bool large_arc, bool sweep)
|
void arc_to(FloatPoint point, float radius, bool large_arc, bool sweep)
|
||||||
{
|
{
|
||||||
elliptical_arc_to(point, { radius, radius }, 0, large_arc, sweep);
|
elliptical_arc_to(point, { radius, radius }, 0, large_arc, sweep);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: This does not do any sanity checks!
|
// Note: This does not do any sanity checks!
|
||||||
void elliptical_arc_to(FloatPoint endpoint, FloatPoint center, FloatSize radii, double x_axis_rotation, double theta, double theta_delta, bool large_arc, bool sweep)
|
void elliptical_arc_to(FloatPoint endpoint, FloatPoint center, FloatSize radii, float x_axis_rotation, float theta, float theta_delta, bool large_arc, bool sweep)
|
||||||
{
|
{
|
||||||
append_segment<EllipticalArcSegment>(
|
append_segment<EllipticalArcSegment>(
|
||||||
endpoint,
|
endpoint,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue