Functions | |
__extern int | cucul_invert (cucul_canvas_t *) |
Invert a canvas' colours. | |
__extern int | cucul_flip (cucul_canvas_t *) |
Flip a canvas horizontally. | |
__extern int | cucul_flop (cucul_canvas_t *) |
Flip a canvas vertically. | |
__extern int | cucul_rotate_180 (cucul_canvas_t *) |
Rotate a canvas. | |
__extern int | cucul_rotate_left (cucul_canvas_t *) |
Rotate a canvas, 90 degrees counterclockwise. | |
__extern int | cucul_rotate_right (cucul_canvas_t *) |
Rotate a canvas, 90 degrees counterclockwise. | |
__extern int | cucul_stretch_left (cucul_canvas_t *) |
Rotate and stretch a canvas, 90 degrees counterclockwise. | |
__extern int | cucul_stretch_right (cucul_canvas_t *) |
Rotate and stretch a canvas, 90 degrees clockwise. |
__extern int cucul_invert | ( | cucul_canvas_t * | cv | ) |
Invert a canvas' colours (black becomes white, red becomes cyan, etc.) without changing the characters in it.
This function never fails.
cv | The canvas to invert. |
__extern int cucul_flip | ( | cucul_canvas_t * | cv | ) |
Flip a canvas horizontally, choosing characters that look like the mirrored version wherever possible. Some characters will stay unchanged by the process, but the operation is guaranteed to be involutive: performing it again gives back the original canvas.
This function never fails.
cv | The canvas to flip. |
References CUCUL_MAGIC_FULLWIDTH.
__extern int cucul_flop | ( | cucul_canvas_t * | cv | ) |
Flip a canvas vertically, choosing characters that look like the mirrored version wherever possible. Some characters will stay unchanged by the process, but the operation is guaranteed to be involutive: performing it again gives back the original canvas.
This function never fails.
cv | The canvas to flop. |
__extern int cucul_rotate_180 | ( | cucul_canvas_t * | cv | ) |
Apply a 180-degree transformation to a canvas, choosing characters that look like the upside-down version wherever possible. Some characters will stay unchanged by the process, but the operation is guaranteed to be involutive: performing it again gives back the original canvas.
This function never fails.
cv | The canvas to rotate. |
References CUCUL_MAGIC_FULLWIDTH.
__extern int cucul_rotate_left | ( | cucul_canvas_t * | cv | ) |
Apply a 90-degree transformation to a canvas, choosing characters that look like the rotated version wherever possible. Characters cells are rotated two-by-two. Some characters will stay unchanged by the process, some others will be replaced by close equivalents. Fullwidth characters at odd horizontal coordinates will be lost. The operation is not guaranteed to be reversible at all.
Note that the width of the canvas is divided by two and becomes the new height. Height is multiplied by two and becomes the new width. If the original width is an odd number, the division is rounded up.
If an error occurs, -1 is returned and errno is set accordingly:
EBUSY
The canvas is in use by a display driver and cannot be rotated.ENOMEM
Not enough memory to allocate the new canvas size. If this happens, the previous canvas handle is still valid.
cv | The canvas to rotate left. |
__extern int cucul_rotate_right | ( | cucul_canvas_t * | cv | ) |
Apply a 90-degree transformation to a canvas, choosing characters that look like the rotated version wherever possible. Characters cells are rotated two-by-two. Some characters will stay unchanged by the process, some others will be replaced by close equivalents. Fullwidth characters at odd horizontal coordinates will be lost. The operation is not guaranteed to be reversible at all.
Note that the width of the canvas is divided by two and becomes the new height. Height is multiplied by two and becomes the new width. If the original width is an odd number, the division is rounded up.
If an error occurs, -1 is returned and errno is set accordingly:
EBUSY
The canvas is in use by a display driver and cannot be rotated.ENOMEM
Not enough memory to allocate the new canvas size. If this happens, the previous canvas handle is still valid.
cv | The canvas to rotate right. |
__extern int cucul_stretch_left | ( | cucul_canvas_t * | cv | ) |
Apply a 90-degree transformation to a canvas, choosing characters that look like the rotated version wherever possible. Some characters will stay unchanged by the process, some others will be replaced by close equivalents. Fullwidth characters will be lost. The operation is not guaranteed to be reversible at all.
Note that the width and height of the canvas are swapped, causing its aspect ratio to look stretched.
If an error occurs, -1 is returned and errno is set accordingly:
EBUSY
The canvas is in use by a display driver and cannot be rotated.ENOMEM
Not enough memory to allocate the new canvas size. If this happens, the previous canvas handle is still valid.
cv | The canvas to rotate left. |
__extern int cucul_stretch_right | ( | cucul_canvas_t * | cv | ) |
Apply a 270-degree transformation to a canvas, choosing characters that look like the rotated version wherever possible. Some characters will stay unchanged by the process, some others will be replaced by close equivalents. Fullwidth characters will be lost. The operation is not guaranteed to be reversible at all.
Note that the width and height of the canvas are swapped, causing its aspect ratio to look stretched.
If an error occurs, -1 is returned and errno is set accordingly:
EBUSY
The canvas is in use by a display driver and cannot be rotated.ENOMEM
Not enough memory to allocate the new canvas size. If this happens, the previous canvas handle is still valid.
cv | The canvas to rotate right. |