as bold or underline. No higher level support for these yet, but at
least everything is consistent.
* Created cucul_set_attr_ansi() and cucul_set_attr_argb() which are bound
to replace cucul_set_color() and cucul_set_truecolor().
int which shall be used as an UTF-32 character. We do not have any casting
problems due to the signedness of chars because all characters were
ASCII (ie. <= 0x7f) beforehands.
a file and a memory area into a libcucul buffer.
* Changed the cucul_import_canvas() prototype so that it uses libcucul
buffers instead of simple memory areas.
such as cucul_dither_t instead of struct cucul_dither.
* Made cucul_buffer_t an opaque structure and implemented the two getters
cucul_get_buffer_data() and cucul_get_buffer_size().
* Documented all missing functions and function parameters.
environment variables handling. Replaced that with three per-bitmap
functions: cucul_set_bitmap_antialias(), cucul_set_bitmap_color() and
cucul_set_bitmap_dithering().
* Added cucul_set_bitmap_brightness() and cucul_set_bitmap_contrast()
prototypes (but did not implement them yet).
* Added cucul_set_bitmap_charset() to choose what characters are going
to be used for the bitmap rendering.
* Removed the now useless cucul_get_feature(), cucul_set_feature() etc.
* Got rid of static buffers; we now use cucul_free() to free exported
buffers.
* Fixed light background in the ANSI exporter by adding escape sequences for
most terminal emulators.
* Renamed caca_refresh() into caca_display() which makes more sense.
* Optimised gl_bgpal by directly storing floats instead of doing the
conversion at runtime.
* Handle resizing in cucul_set_size() and try to keep as much information
as possible from the previous canvas.
* Moved most global variables into cucul_t or caca_t contexts.
* Moved time.c into libcaca.
of unicode letters) is now separated from the higher level rendering and I/O
(that is, libcaca). This commit totally breaks the API, but once everything
is polished I will think about source-level backward compatibility. Most
drivers are broken, but X11 still sorta works.
The new design is much more object-oriented and allows having several
active renderers at the same time, changing renderers on the fly, and more
important, having no renderer at all (useful for converters, or when you
want to do your own renderer).
And in case you are still wondering, the libcucul acronym has "Unicode"
because I want to support at least a subset of Unicode. There are awesome
glyphs in it, including the ones inherited from Codepage 437 such as
"gray 25%" that are used in DOS and Win32 ANSI art.