caca_primitives(3caca) libcaca caca_primitives(3caca) NAME caca_primitives - libcaca primitives drawing SYNOPSIS Topics libcaca canvas frame handling Functions __extern int caca_draw_line (caca_canvas_t *, int, int, int, int, uint32_t) Draw a line on the canvas using the given character. __extern int caca_draw_polyline (caca_canvas_t *, int const x[], int const y[], int, uint32_t) Draw a polyline. __extern int caca_draw_thin_line (caca_canvas_t *, int, int, int, int) Draw a thin line on the canvas, using ASCII art. __extern int caca_draw_thin_polyline (caca_canvas_t *, int const x[], int const y[], int) Draw an ASCII art thin polyline. __extern int caca_draw_circle (caca_canvas_t *, int, int, int, uint32_t) Draw a circle on the canvas using the given character. __extern int caca_draw_ellipse (caca_canvas_t *, int, int, int, int, uint32_t) Draw an ellipse on the canvas using the given character. __extern int caca_draw_thin_ellipse (caca_canvas_t *, int, int, int, int) Draw a thin ellipse on the canvas. __extern int caca_fill_ellipse (caca_canvas_t *, int, int, int, int, uint32_t) Fill an ellipse on the canvas using the given character. __extern int caca_draw_box (caca_canvas_t *, int, int, int, int, uint32_t) Draw a box on the canvas using the given character. __extern int caca_draw_thin_box (caca_canvas_t *, int, int, int, int) Draw a thin box on the canvas. __extern int caca_draw_cp437_box (caca_canvas_t *, int, int, int, int) Draw a box on the canvas using CP437 characters. __extern int caca_fill_box (caca_canvas_t *, int, int, int, int, uint32_t) Fill a box on the canvas using the given character. __extern int caca_draw_triangle (caca_canvas_t *, int, int, int, int, int, int, uint32_t) Draw a triangle on the canvas using the given character. __extern int caca_draw_thin_triangle (caca_canvas_t *, int, int, int, int, int, int) Draw a thin triangle on the canvas. __extern int caca_fill_triangle (caca_canvas_t *, int, int, int, int, int, int, uint32_t) Fill a triangle on the canvas using the given character. __extern int caca_fill_triangle_textured (caca_canvas_t *cv, int coords[6], caca_canvas_t *tex, float uv[6]) Fill a triangle on the canvas using an arbitrary-sized texture. Detailed Description These functions provide routines for primitive drawing, such as lines, boxes, triangles and ellipses. Function Documentation __extern int caca_draw_line (caca_canvas_t * cv, int x1, int y1, int x2, int y2, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_box(), caca_draw_triangle(), and caca_fill_ellipse(). __extern int caca_draw_polyline (caca_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 libcaca 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 caca_draw_thin_line (caca_canvas_t * cv, int x1, int y1, int x2, int y2) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_thin_triangle(). __extern int caca_draw_thin_polyline (caca_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 libcaca 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 caca_draw_circle (caca_canvas_t * cv, int x, int y, int r, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_ellipse (caca_canvas_t * cv, int xo, int yo, int a, int b, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_thin_ellipse (caca_canvas_t * cv, int xo, int yo, int a, int b) This function never fails. Parameters cv The handle to the libcaca 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 caca_fill_ellipse (caca_canvas_t * cv, int xo, int yo, int a, int b, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_line(). __extern int caca_draw_box (caca_canvas_t * cv, int x, int y, int w, int h, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_draw_line(). __extern int caca_draw_thin_box (caca_canvas_t * cv, int x, int y, int w, int h) This function never fails. Parameters cv The handle to the libcaca 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. __extern int caca_draw_cp437_box (caca_canvas_t * cv, int x, int y, int w, int h) This function never fails. Parameters cv The handle to the libcaca 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. __extern int caca_fill_box (caca_canvas_t * cv, int x, int y, int w, int h, uint32_t ch) This function never fails. Parameters cv The handle to the libcaca 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 caca_add_dirty_rect(), and caca_put_char(). Referenced by caca_conio_clreol(). __extern int caca_draw_triangle (caca_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 libcaca 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 caca_draw_line(). __extern int caca_draw_thin_triangle (caca_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 libcaca 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 caca_draw_thin_line(). __extern int caca_fill_triangle (caca_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 libcaca 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 caca_fill_triangle(), and caca_put_char(). Referenced by caca_fill_triangle(). __extern int caca_fill_triangle_textured (caca_canvas_t * cv, int coords[6], caca_canvas_t * tex, float uv[6]) This function fails if one or both the canvas are missing Parameters cv The handle to the libcaca canvas. coords The coordinates of the triangle (3{x,y}) tex The handle of the canvas texture. uv The coordinates of the texture (3{u,v}) Returns This function return 0 if ok, -1 if canvas or texture are missing. Author Generated automatically by Doxygen for libcaca from the source code. Version 0.99.beta20 Thu Apr 18 2024 22:47:49 caca_primitives(3caca)