split is rendered moot by the plugin system: when enabled, binaries do
not link directly with libX11 or libGL. I hope this is a step towards
more consisteny and clarity.
<cucul.h> will provide the C99 types, even if libcaca has been installed.
* Rename what's left of "common.h" to "stubs.h".
* Remove all references to erroneous <inttypes.h> from source files.
cucul_set_color() and cucul_set_truecolor() under the new names
cucul_set_color_ansi() and cucul_set_color_argb().
* Renamed cucul_get_color_name() into cucul_ansi_to_str().
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.
* 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.
+ Check for gettimeofday().
* src/time.c:
+ Created _caca_time().
+ Ported _caca_getticks() to the Win32 API.
* src/caca.c:
+ Properly builds on Win32.
* test/event.c:
+ Added <stdlib.h> because we use malloc().
+ Initialise the char buffers in the X11 driver.
* src/io.c:
+ caca_get_event() and caca_wait_event() immediately return zero if
event_mask is zero.
+ Added support for the Home, End, PgUp and PgDown keys.
+ In the S-Lang driver, added a call to SLang_getkey() before the call to
SLkp_getkey(), otherwise a single Escape call will not be interpreted.
* test/event.c:
+ The "quit" sequence now quits the program, instead of "q" alone.
+ Added a status bar below.
+ Do not refresh after each event, but only when there is no event
pending.
+ If the pressed key is a printable character, display it.
* src/time.c:
+ Moved _caca_getticks() to this file.
* src/caca.c:
+ Set the escape delay to a very low value in the ncurses driver,
because I don't want escape sequences to be entered manually.
* src/io.c:
+ Autorepeat emulation in the ncurses and slang drivers: do not
immediately send the key release event.
* configure.ac:
+ Check for usleep.
+ Improvements in the win32 platform detection.
+ Use SLkp_getkey instead of SLang_getkey so that escape sequences are
directly interpreted.
+ Major rehandling of the event code. All output drivers are now
correctly separated.
* src/graphics.c:
+ Fixed a compilation warning.
* test/event.c:
+ More human-readable event printing.
+ Small event lister, similar to X11's xev.
* src/graphics.c:
+ If possible, disable autorepeat in the X11 driver.
* src/io.c:
+ Implemented CACA_EVENT_MOUSE_RELEASE in all drivers.
+ Button number support in CACA_EVENT_MOUSE_{PRESS,RELEASE}.