caca_canvas - Online Linux Manual PageSection : 3caca
Updated : Tue Jan 26 2021
Source : Version 0.99.beta19
Note : libcaca

NAMEcaca_canvas − libcaca canvas drawing

SYNOPSIS

Moduleslibcaca dirty rectangle manipulation

Macros#define CACA_MAGIC_FULLWIDTH 0x000ffffe

Functions__extern int caca_gotoxy (caca_canvas_t *, int, int)
Set cursor position​.
__extern int caca_wherex (caca_canvas_t const *)
Get X cursor position​.
__extern int caca_wherey (caca_canvas_t const *)
Get Y cursor position​.
__extern int caca_put_char (caca_canvas_t *, int, int, uint32_t)
Print an ASCII or Unicode character​.
__extern uint32_t caca_get_char (caca_canvas_t const *, int, int)
Get the Unicode character at the given coordinates​.
__extern int caca_put_str (caca_canvas_t *, int, int, char const *)
Print a string​.
__extern int caca_printf (caca_canvas_t *, int, int, char const *,​.​.​.)
Print a formated string​.
__extern int caca_vprintf (caca_canvas_t *, int, int, char const *, va_list)
Print a formated string (va_list version)​.
__extern int caca_clear_canvas (caca_canvas_t *)
Clear the canvas​.
__extern int caca_set_canvas_handle (caca_canvas_t *, int, int)
Set cursor handle​.
__extern int caca_get_canvas_handle_x (caca_canvas_t const *)
Get X handle position​.
__extern int caca_get_canvas_handle_y (caca_canvas_t const *)
Get Y handle position​.
__extern int caca_blit (caca_canvas_t *, int, int, caca_canvas_t const *, caca_canvas_t const *)
Blit a canvas onto another one​.
__extern int caca_set_canvas_boundaries (caca_canvas_t *, int, int, int, int)
Set a canvas' new boundaries​.

Detailed DescriptionThese functions provide low-level character printing routines and higher level graphics functions​.

Macro Definition Documentation

#define CACA_MAGIC_FULLWIDTH 0x000ffffeUsed to indicate that the previous character was a fullwidth glyph​.

Function Documentation

__extern int caca_gotoxy (caca_canvas_t * cv, int x, int y)Put the cursor at the given coordinates​. Functions making use of the cursor will use the new values​. Setting the cursor position outside the canvas is legal but the cursor will not be shown​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X cursor coordinate​.
y Y cursor coordinate​.
Returns This function always returns 0​. Referenced by caca_conio_cgets(), caca_conio_clrscr(), caca_conio_cprintf(), caca_conio_cputs(), caca_conio_gotoxy(), caca_conio_printf(), and caca_conio_putch()​.

__extern int caca_wherex (caca_canvas_t const * cv)Retrieve the X coordinate of the cursor's position​. This function never fails​. Parameters cv A handle to the libcaca canvas​. Returns The cursor's X coordinate​. Referenced by caca_conio_cgets(), caca_conio_clreol(), caca_conio_cprintf(), caca_conio_cputs(), caca_conio_printf(), caca_conio_putch(), and caca_conio_wherex()​.

__extern int caca_wherey (caca_canvas_t const * cv)Retrieve the Y coordinate of the cursor's position​. This function never fails​. Parameters cv A handle to the libcaca canvas​. Returns The cursor's Y coordinate​. Referenced by caca_conio_cgets(), caca_conio_clreol(), caca_conio_cprintf(), caca_conio_cputs(), caca_conio_printf(), caca_conio_putch(), and caca_conio_wherey()​.

__extern int caca_put_char (caca_canvas_t * cv, int x, int y, uint32_t ch)Print an ASCII or Unicode character at the given coordinates, using the default foreground and background colour values​. If the coordinates are outside the canvas boundaries, nothing is printed​. If a fullwidth Unicode character gets overwritten, its remaining visible parts are replaced with spaces​. If the canvas' boundaries would split the fullwidth character in two, a space is printed instead​. The behaviour when printing non-printable characters or invalid UTF-32 characters is undefined​. To print a sequence of bytes forming an UTF-8 character instead of an UTF-32 character, use the caca_put_str() function​. This function returns the width of the printed character​. If it is a fullwidth character, 2 is returned​. Otherwise, 1 is returned​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X coordinate​.
y Y coordinate​.
ch The character to print​.
Returns The width of the printed character: 2 for a fullwidth character, 1 otherwise​. References caca_add_dirty_rect(), CACA_MAGIC_FULLWIDTH, and caca_utf32_is_fullwidth()​. Referenced by caca_conio_cgets(), caca_conio_cputs(), caca_conio_putch(), caca_dither_bitmap(), caca_fill_box(), caca_fill_triangle(), caca_flush_figlet(), caca_put_figchar(), and caca_put_str()​.

__extern uint32_t caca_get_char (caca_canvas_t const * cv, int x, int y)Get the ASCII or Unicode value of the character at the given coordinates​. If the value is less or equal to 127 (0x7f), the character can be printed as ASCII​. Otherise, it must be handled as a UTF-32 value​. If the coordinates are outside the canvas boundaries, a space (0x20) is returned​. A special exception is when CACA_MAGIC_FULLWIDTH is returned​. This value is guaranteed not to be a valid Unicode character, and indicates that the character at the left of the requested one is a fullwidth character​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X coordinate​.
y Y coordinate​.
Returns The Unicode character at the given coordinates​. Referenced by caca_flush_figlet(), and caca_put_figchar()​.

__extern int caca_put_str (caca_canvas_t * cv, int x, int y, char const * s)Print an UTF-8 string at the given coordinates, using the default foreground and background values​. The coordinates may be outside the canvas boundaries (eg​. a negative Y coordinate) and the string will be cropped accordingly if it is too long​. See caca_put_char() for more information on how fullwidth characters are handled when overwriting each other or at the canvas' boundaries​. This function returns the number of cells printed by the string​. It is not the number of characters printed, because fullwidth characters account for two cells​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X coordinate​.
y Y coordinate​.
s The string to print​.
Returns The number of cells printed​. References caca_put_char(), caca_utf32_is_fullwidth(), and caca_utf8_to_utf32()​. Referenced by caca_vprintf()​.

__extern int caca_printf (caca_canvas_t * cv, int x, int y, char const * format, ​.​.​.)Format a string at the given coordinates, using the default foreground and background values​. The coordinates may be outside the canvas boundaries (eg​. a negative Y coordinate) and the string will be cropped accordingly if it is too long​. The syntax of the format string is the same as for the C printf() function​. This function returns the number of cells printed by the string​. It is not the number of characters printed, because fullwidth characters account for two cells​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X coordinate​.
y Y coordinate​.
format The format string to print​.
​.​.​. Arguments to the format string​.
Returns The number of cells printed​. References caca_vprintf()​.

__extern int caca_vprintf (caca_canvas_t * cv, int x, int y, char const * format, va_list args)Format a string at the given coordinates, using the default foreground and background values​. The coordinates may be outside the canvas boundaries (eg​. a negative X coordinate) and the string will be cropped accordingly if it is too long​. The syntax of the format string is the same as for the C vprintf() function​. This function returns the number of cells printed by the string​. It is not the number of characters printed, because fullwidth characters account for two cells​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X coordinate​.
y Y coordinate​.
format The format string to print​.
args A va_list containting the arguments to the format string​.
Returns The number of cells printed​. References caca_put_str()​. Referenced by caca_conio_cprintf(), caca_conio_printf(), and caca_printf()​.

__extern int caca_clear_canvas (caca_canvas_t * cv)Clear the canvas using the current foreground and background colours​. This function never fails​. Parameters cv The canvas to clear​. Returns This function always returns 0​. References caca_add_dirty_rect()​. Referenced by caca_conio_clrscr()​.

__extern int caca_set_canvas_handle (caca_canvas_t * cv, int x, int y)Set the canvas' handle​. Blitting functions will use the handle value to put the canvas at the proper coordinates​. This function never fails​. Parameters cv A handle to the libcaca canvas​.
x X handle coordinate​.
y Y handle coordinate​.
Returns This function always returns 0​. Referenced by caca_put_figchar()​.

__extern int caca_get_canvas_handle_x (caca_canvas_t const * cv)Retrieve the X coordinate of the canvas' handle​. This function never fails​. Parameters cv A handle to the libcaca canvas​. Returns The canvas' handle's X coordinate​.

__extern int caca_get_canvas_handle_y (caca_canvas_t const * cv)Retrieve the Y coordinate of the canvas' handle​. This function never fails​. Parameters cv A handle to the libcaca canvas​. Returns The canvas' handle's Y coordinate​.

__extern int caca_blit (caca_canvas_t * dst, int x, int y, caca_canvas_t const * src, caca_canvas_t const * mask)Blit a canvas onto another one at the given coordinates​. An optional mask canvas can be used​. If an error occurs, -1 is returned and errno is set accordingly: • EINVAL A mask was specified but the mask size and source canvas size do not match​. Parameters dst The destination canvas​.
x X coordinate​.
y Y coordinate​.
src The source canvas​.
mask The mask canvas​.
Returns 0 in case of success, -1 if an error occurred​. References caca_add_dirty_rect(), and CACA_MAGIC_FULLWIDTH​. Referenced by caca_conio_movetext(), caca_export_area_to_memory(), caca_import_area_from_file(), caca_import_area_from_memory(), caca_put_figchar(), and caca_set_canvas_boundaries()​.

__extern int caca_set_canvas_boundaries (caca_canvas_t * cv, int x, int y, int w, int h)Set new boundaries for a canvas​. This function can be used to crop a canvas, to expand it or for combinations of both actions​. All frames are affected by this function​. If an error occurs, -1 is returned and errno is set accordingly: • EINVAL Specified width or height is invalid​. • EBUSY The canvas is in use by a display driver and cannot be resized​. • ENOMEM Not enough memory for the requested canvas size​. If this happens, the canvas handle becomes invalid and should not be used​. Parameters cv The canvas to crop​.
x X coordinate of the top-left corner​.
y Y coordinate of the top-left corner​.
w The width of the cropped area​.
h The height of the cropped area​.
Returns 0 in case of success, -1 if an error occurred​. References caca_add_dirty_rect(), caca_blit(), caca_create_canvas(), caca_create_frame(), caca_get_frame_count(), and caca_set_frame()​.

AuthorGenerated automatically by Doxygen for libcaca from the source code​.
0
Johanes Gumabo
Data Size   :   53,557 byte
man-caca_blit.3cacaBuild   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 200,643
Visitor ID   :     :  
Visitor IP   :   13.59.5.179   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.