diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/Geo.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/generic/Geo.h b/generic/Geo.h index 28e3dae..00382ea 100644 --- a/generic/Geo.h +++ b/generic/Geo.h @@ -49,7 +49,7 @@ #define ABS(a) ((a) < 0 ? -(a) : (a)) #endif #ifndef M_PI -#define M_PI 3.14159265358979323846 +#define M_PI 3.14159265358979323846264338327 #endif #ifndef M_PI_2 #define M_PI_2 1.57079632679489661923 @@ -152,6 +152,24 @@ OvalInBBox(RadarPoint *center, RadarBBox *bbox); RadarBool +HorizLineToArc(RadarReal x1, + RadarReal x2, + RadarReal y, + RadarReal rx, + RadarReal ry, + RadarReal start_angle, + RadarReal angle_extent); + +RadarBool +VertLineToArc(RadarReal x, + RadarReal y1, + RadarReal y2, + RadarReal rx, + RadarReal ry, + RadarReal start_angle, + RadarReal angle_extent); + +RadarBool PointInAngle(int start_angle, int angle_extent, RadarPoint *p); @@ -220,6 +238,11 @@ InsetPolygon(RadarPoint *p, RadarDim inset); void +BezierSubdivide(RadarPoint *controls, + RadarReal t, + RadarBool first); + +void SmoothPathWithBezier(RadarList from_points, RadarList to_points); @@ -228,6 +251,12 @@ GetBezierPath(RadarList from_points, RadarList to_points); void +GetArcPath(RadarReal start_angle, + RadarReal end_angle, + int type, + RadarList to_points); + +void GetLineEnd(RadarPoint *p1, RadarPoint *p2, unsigned int line_width, |