libcucul primitives drawing


Functions

__extern int cucul_draw_line (cucul_canvas_t *, int, int, int, int, uint32_t)
 Draw a line on the canvas using the given character.
__extern int cucul_draw_polyline (cucul_canvas_t *, int const x[], int const y[], int, uint32_t)
 Draw a polyline.
__extern int cucul_draw_thin_line (cucul_canvas_t *, int, int, int, int)
 Draw a thin line on the canvas, using ASCII art.
__extern int cucul_draw_thin_polyline (cucul_canvas_t *, int const x[], int const y[], int)
 Draw an ASCII art thin polyline.
__extern int cucul_draw_circle (cucul_canvas_t *, int, int, int, uint32_t)
 Draw a circle on the canvas using the given character.
__extern int cucul_draw_ellipse (cucul_canvas_t *, int, int, int, int, uint32_t)
 Draw an ellipse on the canvas using the given character.
__extern int cucul_draw_thin_ellipse (cucul_canvas_t *, int, int, int, int)
 Draw a thin ellipse on the canvas.
__extern int cucul_fill_ellipse (cucul_canvas_t *, int, int, int, int, uint32_t)
 Fill an ellipse on the canvas using the given character.
__extern int cucul_draw_box (cucul_canvas_t *, int, int, int, int, uint32_t)
 Draw a box on the canvas using the given character.
__extern int cucul_draw_thin_box (cucul_canvas_t *, int, int, int, int)
 Draw a thin box on the canvas.
__extern int cucul_draw_cp437_box (cucul_canvas_t *, int, int, int, int)
 Draw a box on the canvas using CP437 characters.
__extern int cucul_fill_box (cucul_canvas_t *, int, int, int, int, uint32_t)
 Fill a box on the canvas using the given character.
__extern int cucul_draw_triangle (cucul_canvas_t *, int, int, int, int, int, int, uint32_t)
 Draw a triangle on the canvas using the given character.
__extern int cucul_draw_thin_triangle (cucul_canvas_t *, int, int, int, int, int, int)
 Draw a thin triangle on the canvas.
__extern int cucul_fill_triangle (cucul_canvas_t *, int, int, int, int, int, int, uint32_t)
 Fill a triangle on the canvas using the given character.

Detailed Description

These functions provide routines for primitive drawing, such as lines, boxes, triangles and ellipses.

Function Documentation

__extern int cucul_draw_line ( cucul_canvas_t cv,
int  x1,
int  y1,
int  x2,
int  y2,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
ch UTF-32 character to be used to draw the line.
Returns:
This function always returns 0.

Referenced by cucul_draw_box(), cucul_draw_triangle(), and cucul_fill_ellipse().

__extern int cucul_draw_polyline ( cucul_canvas_t cv,
int const   x[],
int const   y[],
int  n,
uint32_t  ch 
)

Draw a polyline on the canvas using the given character and coordinate arrays. The first and last points are not connected, hence in order to draw a polygon you need to specify the starting point at the end of the list as well.

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x Array of X coordinates. Must have n + 1 elements.
y Array of Y coordinates. Must have n + 1 elements.
n Number of lines to draw.
ch UTF-32 character to be used to draw the lines.
Returns:
This function always returns 0.

__extern int cucul_draw_thin_line ( cucul_canvas_t cv,
int  x1,
int  y1,
int  x2,
int  y2 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
Returns:
This function always returns 0.

Referenced by cucul_draw_thin_triangle().

__extern int cucul_draw_thin_polyline ( cucul_canvas_t cv,
int const   x[],
int const   y[],
int  n 
)

Draw a thin polyline on the canvas using the given coordinate arrays and with ASCII art. The first and last points are not connected, so in order to draw a polygon you need to specify the starting point at the end of the list as well.

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x Array of X coordinates. Must have n + 1 elements.
y Array of Y coordinates. Must have n + 1 elements.
n Number of lines to draw.
Returns:
This function always returns 0.

__extern int cucul_draw_circle ( cucul_canvas_t cv,
int  x,
int  y,
int  r,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x Center X coordinate.
y Center Y coordinate.
r Circle radius.
ch UTF-32 character to be used to draw the circle outline.
Returns:
This function always returns 0.

__extern int cucul_draw_ellipse ( cucul_canvas_t cv,
int  xo,
int  yo,
int  a,
int  b,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
xo Center X coordinate.
yo Center Y coordinate.
a Ellipse X radius.
b Ellipse Y radius.
ch UTF-32 character to be used to draw the ellipse outline.
Returns:
This function always returns 0.

__extern int cucul_draw_thin_ellipse ( cucul_canvas_t cv,
int  xo,
int  yo,
int  a,
int  b 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
xo Center X coordinate.
yo Center Y coordinate.
a Ellipse X radius.
b Ellipse Y radius.
Returns:
This function always returns 0.

__extern int cucul_fill_ellipse ( cucul_canvas_t cv,
int  xo,
int  yo,
int  a,
int  b,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
xo Center X coordinate.
yo Center Y coordinate.
a Ellipse X radius.
b Ellipse Y radius.
ch UTF-32 character to be used to fill the ellipse.
Returns:
This function always returns 0.

References cucul_draw_line().

__extern int cucul_draw_box ( cucul_canvas_t cv,
int  x,
int  y,
int  w,
int  h,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x X coordinate of the upper-left corner of the box.
y Y coordinate of the upper-left corner of the box.
w Width of the box.
h Height of the box.
ch UTF-32 character to be used to draw the box.
Returns:
This function always returns 0.

References cucul_draw_line().

__extern int cucul_draw_thin_box ( cucul_canvas_t cv,
int  x,
int  y,
int  w,
int  h 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x X coordinate of the upper-left corner of the box.
y Y coordinate of the upper-left corner of the box.
w Width of the box.
h Height of the box.
Returns:
This function always returns 0.

References cucul_put_char().

__extern int cucul_draw_cp437_box ( cucul_canvas_t cv,
int  x,
int  y,
int  w,
int  h 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x X coordinate of the upper-left corner of the box.
y Y coordinate of the upper-left corner of the box.
w Width of the box.
h Height of the box.
Returns:
This function always returns 0.

References cucul_put_char().

__extern int cucul_fill_box ( cucul_canvas_t cv,
int  x,
int  y,
int  w,
int  h,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x X coordinate of the upper-left corner of the box.
y Y coordinate of the upper-left corner of the box.
w Width of the box.
h Height of the box.
ch UTF-32 character to be used to draw the box.
Returns:
This function always returns 0.

References cucul_put_char().

__extern int cucul_draw_triangle ( cucul_canvas_t cv,
int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
x3 X coordinate of the third point.
y3 Y coordinate of the third point.
ch UTF-32 character to be used to draw the triangle outline.
Returns:
This function always returns 0.

References cucul_draw_line().

__extern int cucul_draw_thin_triangle ( cucul_canvas_t cv,
int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
x3 X coordinate of the third point.
y3 Y coordinate of the third point.
Returns:
This function always returns 0.

References cucul_draw_thin_line().

__extern int cucul_fill_triangle ( cucul_canvas_t cv,
int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3,
uint32_t  ch 
)

This function never fails.

Parameters:
cv The handle to the libcucul canvas.
x1 X coordinate of the first point.
y1 Y coordinate of the first point.
x2 X coordinate of the second point.
y2 Y coordinate of the second point.
x3 X coordinate of the third point.
y3 Y coordinate of the third point.
ch UTF-32 character to be used to fill the triangle.
Returns:
This function always returns 0.

References cucul_fill_triangle(), and cucul_put_char().

Referenced by cucul_fill_triangle().