NAME
libcaca basic functions −
Functions
caca_display_t *
caca_create_display (cucul_canvas_t *)
Attach a caca graphical context to a cucul canvas.
int caca_free_display (caca_display_t *)
Detach a caca graphical context from a cucul backend
context.
int caca_refresh_display (caca_display_t *)
Flush pending changes and redraw the screen.
int caca_set_display_time (caca_display_t *,
unsigned int)
Set the refresh delay.
unsigned int caca_get_display_time
(caca_display_t *)
Get the display’s average rendering time.
unsigned int caca_get_display_width
(caca_display_t *)
Get the display width.
unsigned int caca_get_display_height
(caca_display_t *)
Get the display height.
int caca_set_display_title (caca_display_t *,
char const *)
Set the display title.
Detailed Description
These functions provide the basic libcaca routines for driver initialisation, system information retrieval and configuration.
Function Documentation
caca_display_t*
caca_create_display (cucul_canvas_t * cv)
Create a graphical context using device-dependent features
(ncurses for terminals, an X11 window, a DOS command
window...) that attaches to a libcucul canvas. Everything
that gets drawn in the libcucul canvas can then be displayed
by the libcaca driver.
If an error occurs, NULL is returned and errno is set accordingly:
• |
ENOMEM Not enough memory. |
|||
• |
ENODEV Graphical device could not be initialised. |
Parameters:
cv The cucul cavas.
Returns:
The caca graphical context or NULL if an error occurred.
int
caca_free_display (caca_display_t * dp)
Detach a graphical context from its cucul backend and
destroy it. The libcucul canvas continues to exist and other
graphical contexts can be attached to it afterwards.
This function never fails.
Parameters:
dp The libcaca graphical context.
Returns:
This function always returns 0.
int
caca_refresh_display (caca_display_t * dp)
Flush all graphical operations and print them to the display
device. Nothing will show on the screen until this function
is called.
If caca_set_display_time() was called with a non-zero value, caca_refresh_display() will use that value to achieve constant framerate: if two consecutive calls to caca_refresh_display() are within a time range shorter than the value set with caca_set_display_time(), the second call will be delayed before performing the screen refresh.
This function never fails.
Parameters:
dp The libcaca display context.
Returns:
This function always returns 0.
int
caca_set_display_time (caca_display_t * dp, unsigned int
usec)
Set the refresh delay in microseconds. The refresh delay is
used by caca_refresh_display() to achieve constant
framerate. See the caca_refresh_display()
documentation for more details.
If the argument is zero, constant framerate is disabled. This is the default behaviour.
This function never fails.
Parameters:
dp The libcaca display
context.
usec The refresh delay in microseconds.
Returns:
This function always returns 0.
unsigned int
caca_get_display_time (caca_display_t * dp)
Get the average rendering time, which is the average
measured time between two caca_refresh_display()
calls, in microseconds. If constant framerate was activated
by calling caca_set_display_time(), the average
rendering time will be close to the requested delay even if
the real rendering time was shorter.
This function never fails.
Parameters:
dp The libcaca display context.
Returns:
The render time in microseconds.
unsigned int
caca_get_display_width (caca_display_t * dp)
If libcaca runs in a window, get the usable window width.
This value can be used for aspect ratio calculation. If
libcaca does not run in a window or if there is no way to
know the font size, most drivers will assume a 6x10 font is
being used. Note that the units are not necessarily
pixels.
This function never fails.
Parameters:
dp The libcaca display context.
Returns:
The display width.
unsigned int
caca_get_display_height (caca_display_t * dp)
If libcaca runs in a window, get the usable window height.
This value can be used for aspect ratio calculation. If
libcaca does not run in a window or if there is no way to
know the font size, assume a 6x10 font is being used. Note
that the units are not necessarily pixels.
This function never fails.
Parameters:
dp The libcaca display context.
Returns:
The display height.
int
caca_set_display_title (caca_display_t * dp, char const *
title)
If libcaca runs in a window, try to change its title. This
works with the ncurses, S-Lang, OpenGL, X11 and Win32
drivers.
If an error occurs, -1 is returned and errno is set accordingly:
• |
ENOSYS Display driver does not support setting the window title. |
Parameters:
dp The libcaca display
context.
title The desired display title.
Returns:
0 upon success, -1 if an error occurred.