aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rtgrpblib_draw_circular_arc.368
-rw-r--r--rtgrpblib_draw_cubic_bezier.355
-rw-r--r--rtgrpblib_draw_linear_bezier.32
-rw-r--r--rtgrpblib_draw_quadratic_bezier.357
4 files changed, 181 insertions, 1 deletions
diff --git a/rtgrpblib_draw_circular_arc.3 b/rtgrpblib_draw_circular_arc.3
new file mode 100644
index 0000000..49b0c70
--- /dev/null
+++ b/rtgrpblib_draw_circular_arc.3
@@ -0,0 +1,68 @@
+.TH RTGRPBLIB_DRAW_CIRCULAR_ARC 3 LIBRIFUNKTIONSTECKENSNITTSGLYFRASTERISERINGSPROGRAMBIBLIOTEKET
+.SH NAME
+rtgrpblib_draw_circular_arc - Draw a circular arc
+
+.SH DESCRIPTION
+.LP
+.nf
+#include <librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket.h>
+
+void rtgrpblib_draw_circular_arc(RTGRPBLIB_RASTER *\fIraster\fP,
+ double \fIx0\fP, double \fIy0\fP,
+ double \fIsemiwidth\fP, double \fIsemiheight\fP,
+ double \fIstart\fP, double \fIend\fP);
+.fi
+.PP
+Link with
+.IR "-lrifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket -lm" .
+
+.SH DESCRIPTION
+The
+.BR rtgrpblib_draw_circular_arc ()
+function draws onto
+.I raster
+a circular arch, as part of a contour. The arc's circle
+is defined as the circle with the midpoint
+.RI ( x0 ,
+.IR y0 )
+and the radius that is
+.I semiwidth
+cells horizontally and
+.I semiheight
+cells vertically. The arc itself is drawn from the angle
+.I start
+to the
+.IR end ,
+both are specified in radians.
+
+.SH RETURN VALUES
+None.
+
+.SH ERRORS
+None.
+
+.SH NOTES
+The
+.BR rtgrpblib_draw_circular_arc ()
+function is intended to draw the arc of a circle, not the
+arc of an ellipse, which is why it doesn't have a way to
+rotate the ellipse despite the function providing a way
+to specify the semimajor and the semiminor, not just a
+radius. The function provides this two parameters, rather
+than a single radius parameter because the image may, and
+indeed probably will, have a different horizontal cell
+density than vertical cell density, this is because the
+pixels on a monitor are not perfect squares (and might
+not even approximate square), and because the image may
+be created (for example) for a horizontal cell density
+three times greater than the monitor's horizontal pixel
+density, but the same vertical density, in order to
+render an image that will use subpixel antialiasing.
+
+.SH SEE ALSO
+.BR librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket (7),
+.BR rtgrpblib_create_raster (3),
+.BR rtgrpblib_fill_shapes (3),
+.BR rtgrpblib_draw_linear_bezier (3),
+.BR rtgrpblib_draw_quadratic_bezier (3),
+.BR rtgrpblib_draw_cubic_bezier (3)
diff --git a/rtgrpblib_draw_cubic_bezier.3 b/rtgrpblib_draw_cubic_bezier.3
new file mode 100644
index 0000000..eef0ab4
--- /dev/null
+++ b/rtgrpblib_draw_cubic_bezier.3
@@ -0,0 +1,55 @@
+.TH RTGRPBLIB_DRAW_CUBIC_BEZIER 3 LIBRIFUNKTIONSTECKENSNITTSGLYFRASTERISERINGSPROGRAMBIBLIOTEKET
+.SH NAME
+rtgrpblib_draw_cubic_bezier - Draw a cubic Bézier curve
+
+.SH DESCRIPTION
+.LP
+.nf
+#include <librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket.h>
+
+void rtgrpblib_draw_cubic_bezier(RTGRPBLIB_RASTER *\fIraster\fP,
+ double \fIx1\fP, double \fIy1\fP,
+ double \fIx2\fP, double \fIy2\fP,
+ double \fIx3\fP, double \fIy3\fP,
+ double \fIx4\fP, double \fIy4\fP);
+.fi
+.PP
+Link with
+.IR "-lrifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket -lm" .
+
+.SH DESCRIPTION
+The
+.BR rtgrpblib_draw_cubic_bezier ()
+function draws onto
+.I raster
+a cubic Bézier curve, as part of a contour, from
+.RI ( x1 ,
+.IR y1 )
+to
+.RI ( x4 ,
+.IR y4 )
+with
+.RI ( x2 ,
+.IR y2 )
+and
+.RI ( x4 ,
+.IR y4 )
+as the additional control points.
+.PP
+The function draws the linear interpolant of corresponding points in
+the two quadratic Bézier curves made of the of the three first
+control points and the three last control points respectively.
+
+.SH RETURN VALUES
+None.
+
+.SH ERRORS
+None.
+
+.SH SEE ALSO
+.BR librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket (7),
+.BR rtgrpblib_create_raster (3),
+.BR rtgrpblib_fill_shapes (3),
+.BR rtgrpblib_draw_linear_bezier (3),
+.BR rtgrpblib_draw_quadratic_bezier (3),
+.BR rtgrpblib_draw_circular_arc (3)
diff --git a/rtgrpblib_draw_linear_bezier.3 b/rtgrpblib_draw_linear_bezier.3
index 05b12f9..f525db7 100644
--- a/rtgrpblib_draw_linear_bezier.3
+++ b/rtgrpblib_draw_linear_bezier.3
@@ -20,7 +20,7 @@ The
.BR rtgrpblib_draw_linear_bezier ()
function draws onto
.I raster
-a line segment, as part a contour, from
+a line segment, as part of a contour, from
.RI ( x1 ,
.IR y1 )
to
diff --git a/rtgrpblib_draw_quadratic_bezier.3 b/rtgrpblib_draw_quadratic_bezier.3
new file mode 100644
index 0000000..f8e5467
--- /dev/null
+++ b/rtgrpblib_draw_quadratic_bezier.3
@@ -0,0 +1,57 @@
+.TH RTGRPBLIB_DRAW_QUADRATIC_BEZIER 3 LIBRIFUNKTIONSTECKENSNITTSGLYFRASTERISERINGSPROGRAMBIBLIOTEKET
+.SH NAME
+rtgrpblib_draw_quadratic_bezier - Draw a quadratic Bézier curve
+
+.SH DESCRIPTION
+.LP
+.nf
+#include <librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket.h>
+
+void rtgrpblib_draw_quadratic_bezier(RTGRPBLIB_RASTER *\fIraster\fP,
+ double \fIx1\fP, double \fIy1\fP,
+ double \fIx2\fP, double \fIy2\fP,
+ double \fIx3\fP, double \fIy3\fP);
+.fi
+.PP
+Link with
+.IR "-lrifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket -lm" .
+
+.SH DESCRIPTION
+The
+.BR rtgrpblib_draw_quadratic_bezier ()
+function draws onto
+.I raster
+a quadratic Bézier curve, as part of a contour, from
+.RI ( x1 ,
+.IR y1 )
+to
+.RI ( x3 ,
+.IR y3 )
+with
+.RI ( x2 ,
+.IR y2 )
+as the additional control point.
+.PP
+The function draws the linear interpolant of corresponding points in
+the line segments
+.RI ( x1 ,
+.IR y1 )-( x2 ,
+.IR y2 )
+and
+.RI ( x2 ,
+.IR y2 )-( x3 ,
+.IR y3 ).
+
+.SH RETURN VALUES
+None.
+
+.SH ERRORS
+None.
+
+.SH SEE ALSO
+.BR librifunktionsteckensnittsglyfrasteriseringsprogrambiblioteket (7),
+.BR rtgrpblib_create_raster (3),
+.BR rtgrpblib_fill_shapes (3),
+.BR rtgrpblib_draw_linear_bezier (3),
+.BR rtgrpblib_draw_cubic_bezier (3),
+.BR rtgrpblib_draw_circular_arc (3)