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.
* 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.
+ 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.
+ 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.
+ 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.
+ 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.
+ Updated the package descriptions to include cacaball.
* doc/cacademo.1 doc/Makefile.am:
+ Use the cacademo manpage as the cacaball manpage.
* src/:
+ Added #ifdef _DOXYGEN_SKIP_ME here and there to prvent Doxygen from
documenting bizarre stuff.
+ Added caca_wait_event(), a blocking caca_get_event().
* src/ examples/:
+ More documentation.
* doc/doxygen.cfg.in:
+ doc/doxygen.cfg is now generated by configure, so that we can use
@top_srcdir@ and we no longer need to hardcode PROJECT_NUMBER.
+ Create manpages.
+ Support for simultaneously compiled-in drivers.
+ Honour the CACA_DRIVER environment variable.
* configure.ac:
+ Drivers are no longer mutually exclusive.
+ Added antialiasing support.
+ Dithering, antialiasing and background mode can now be selected at
runtime.
* src/caca.c src/caca.h:
+ Renamed caca_dithering into caca_feature and extended the type to
express background colour and antialiasing mode.
* examples/demo.c:
+ Fixed a bug that disabled the sprite demo.
+ Draw solid flares.
* examples/view.c:
+ Select antialiasing and background mode at runtime.
+ Internally cache screen width and height.
* src/bitmap.c:
+ Added alpha support to caca_draw_bitmap(). For now, we only treat 0%
alpha as fully transparent, and any other value as fully opaque.
+ Slightly tuned colour weights in the renderer.
+ caca_set_bitmap_palette() takes unsigned ints.
* examples/demo.c:
+ Added a crap render demo.
* examples/aafire.c:
+ Set a 20ms delay.
+ Added alpha values to the palette.
* examples/view.c:
+ Draw a gray checkered grid below the image so that transparent images
look a lot nicer.
+ 'f' toggles "fullscreen" mode.
+ Fixed an endianness issue in the byte reader.
+ Decreased precision in RGB and HSV values to avoid overflows.
+ New dithering method: 2x2 ordered.
+ New renderer, with background colour awareness.
* configure.ac:
+ Check for <endian.h>.
* examples/demo.c examples/view.c:
+ Fixed an endianness issue in cacaview.
+ Adapted code to the additional dithering method.
+ Added caca_get_dithering_name().
* src/bitmap.c:
+ Created a new dithering method with an 8x8 ordered matrix.
+ Replaced the char list with a string for better readability.
+ Dithering functions now return a value between 0 and 255.
* examples/demo.c examples/view.c:
+ Adapted to use caca_get_dithering_name().
+ Added setab/setaf quotes from the XTerm terminfo.
+ Proposed a workaround for bright colours on any terminal.
* src/caca.c:
+ 16 colour support for ncurses and conio.
* src/graphics.c:
+ Ported to 16 colour support.
+ Added a missing <stdio.h> for BUFSIZ.
+ Disabled vsnprintf under DOS (only vsprintf exists).
* examples/:
+ Don't abort if the caca.txt sprite was not found.
+ Ported to 16 colour support.