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.
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.
* 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.
+ 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.
+ 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.
+ Added ee_color_names[] containing our 16 color names.
* libee/ee.c:
+ Extended our color set to the full 16 instead of 10.
+ Precalculate ncurses attributes.
* libee/graphics.c:
+ Clip color value in ee_set_color().
+ Clip characters in ee_putchar().
+ Partially clip characters in ee_putstr(), overflows aren't checked yet.
* libee/ee_internals.h:
+ New file to share extern variables within libee.
* test/demo.c:
+ Added a simple demo_color() to output all colors.
+ Replaced four ee_draw_line() with ee_draw_thin_box().
+ Replaced x1, y1, x2 etc. with xa, ya, xb etc. because <math.h> already
defines y1.
+ Randomized colours from 0 to 15 instead of 1 to 10.
* src/Makefiles.am:
+ Added -lm to the ttyvaders linking flags because of the intro.
* README BUGS TODO:
+ Updated.
+ Wrote ee_draw_triangle() and ee_draw_thin_triangle().
* libee/box.c:
+ Wrote ee_draw_box(), ee_draw_thin_box() and ee_fill_box().
* libee/conic.c:
+ Wrote ee_fill_ellipse().
+ First attempt at ee_draw_thin_ellipse(), to be reworked.
* test/demo.c:
+ Merged demo_lines() and demo_thin_lines().
+ Merged demo_triangles() and demo_outlined_triangles().
+ Wrote demo_box().
+ Use ee_fill_ellipse() in demo_all().
+ Moved ee_putstr() and ee_putchar() in here.
* libee/ee.h:
+ Got rid of ee_goto().
+ Moved <slang.h> or <curses.h> into libee.
* Replaced ee_goto()/ee_putstr() pairs with ee_putstr().
* Ditto for ee_putchar().