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.
+ Introduced CACA_DITHER_FSTEIN.
* src/caca.c:
+ CACA_DITHER_FSTEIN is the default dithering method.
* src/bitmap.c:
+ Fixed other dithering methods. Black background does not work yet.
+ Fixed a buffer overflow due to bad signed/unsigned handling.
* src/event.c:
+ Disallow zero width or height in the X11 driver.
+ Fixed resizing in ncurses and slang.
* THANKS:
+ Added the Source Mage maintainer.
+ Refresh the X11 window when an exposure event is received.
+ When resizing the X11 window, start showing extra characters when two
thirds are visible.
+ Renamed caca_set_title() to caca_set_window_title().
+ Implemented caca_get_window_width() and caca_get_window_height().
* examples/cacaview.c:
+ Set the window title to cacaview.
+ Make sure the mouse coordinates stay within the screen boundaries even
if the window was resized.
* src/bitmap.c:
+ Fixed a buffer underflow in the rendering routine that caused the bottom
and rightmost pixels to be missed in certain conditions.
+ Minor speed optimisation.
+ Added the CACA_EVENT_RESIZE event.
+ Added caca_get_mouse_x() and caca_get_mouse_y().
* src/graphics.c:
+ Window resize handling in the X11 driver.
* examples/aafire.c:
+ Fixed a bad assumption in the resize handling code.
+ Check for sys/times.h and unistd.h.
+ Added calls to AC_C_CONST and AC_C_INLINE.
* src/time.c src/graphics.c:
+ Fixes for MSVC compilation warnings.
+ Additional sanity checks in the Win32 driver.
* src/caca.c:
+ Use raw()/noraw() in the curses driver instead of cbreak().
* msvc/libcaca.sln:
+ Added an MSVC solution.
* examples/aafire.c:
+ Slightly reduced the maximum cacafire framerate.