libcaca documentation

Libcaca news

Changes between 0.9.beta17 and 0.99.beta16

  • new dirty rectangle framework for accelerated rendering
  • new <conio.h> compatible header for old DOS software porting
  • XCode and Visual Studio build improvements
  • improved HTML output
  • improved Ruby and .NET bindings
  • new comprehensive PHP bindings
  • Cocoa driver enhancements
  • documentation updates
  • minor improvements and bugfixes

Changes between 0.9.beta16 and 0.99.beta15

  • many build fixes, especially for nonstandard platforms

Changes between 0.9.beta15 and 0.99.beta14

  • libcucul was merged back into libcaca for more clarity

Changes between 0.9.beta14 and 0.99.beta13

  • internal FIGlet font support
  • use C99 types in public headers
  • runtime support for output drivers
  • BBcode export support

Changes between 0.9.beta13 and 0.99.beta12

  • device-dependent cursor support
  • event API rewrite
  • minor API improvements and extensions
  • img2txt improvements
  • Ruby bindings
  • Massive C# bindings improvements
  • Python sample code
  • Visual Studio build solution

Changes between 0.9.beta12 and 0.99.beta11

  • support for 90-degree canvas rotation
  • better behaviour when trying to output Unicode on an ASCII terminal
  • the built-in font now supports the Geometric Shapes, Halfwidth and Fullwidth Forms and Miscellaneous Symbols Unicode blocks
  • new rotozoom effect in cacademo
  • Cocoa output driver for Mac OS X
  • preliminary .NET bindings
  • many bugfixes and documentation changes

Changes between 0.9.beta11 and 0.99.beta10

  • fixed compilation of the C++ bindings
  • fixed bugs in cucul_import_memory(), cucul_set_canvas_size()
  • implemented caca_set_display_title() for ncurses and S-Lang
  • minor bugfixes

Changes between 0.9.beta10 and 0.99.beta9

  • new debug mode
  • blitting canvases now makes use of the canvas' handle coordinates
  • import functions can read streamed data
  • attribute to colorspace transformations
  • added katakana and hiragana glyphs to the built-in font
  • many bugfixes and documentation changes

Changes between 0.9.beta9 and 0.99.beta8

  • support for blink, bold, italics and underline attributes
  • allow to import and export zero-sized canvases
  • fixed Imlib2 support in cacaview
  • fixed buffer overlows in the file importer
  • big documentation updates

Changes between 0.9.beta8 and 0.99.beta7

  • allow to build the X11 and GL drivers as separate plugins
  • support for fullwidth Unicode characters
  • improved cucul_flip() and cucul_rotate()
  • minor bugfixes and documentation updates

Changes between 0.9.beta7 and 0.99.beta6

  • transparency support in the UTF-8 importer and exporter
  • optimised triangle fill routine
  • updated C++ bindings

Changes between 0.9.beta6 and 0.99.beta5

  • ANSI importer now handles transparency and UTF-8
  • Unicode support was broken for about 10% of the set
  • various memory leaks were fixed

Changes between 0.9.beta5 and 0.99.beta4

  • implemented cucul_getchar() and cucul_get_color()
  • handle transparency in the IRC export
  • new cropping and expanding filters
  • full Unicode support in the OpenGL driver
  • portability fixes for 64-bit architectures, Win32 and MS-DOS
  • all demos except cacafire were merged into cacademo

Changes between 0.9.beta4 and 0.99.beta3

  • added a compatibility layer for pre-1.x libcaca applications
  • fixed manpage generation
  • minor bugfixes and documentation updates

Changes between 0.9.beta3 and 0.99.beta2

  • libcaca functions use errno for error reporting
  • updated C++ bindings
  • minor improvements, bugfixes and documentation updates

Changes between 0.9.beta2 and 0.99.beta1

  • ANSI importer
  • functions use errno for error reporting
  • updated C++ bindings
  • .NET bindings
  • cacadraw, an ANSI viewer that will evolve into an editor
  • Unicode input and output support for SLang and ncurses
  • built-in fonts work on Win32

Changes between 0.9 and 0.99.beta1

  • license switched to WTFPL
  • libcaca was split into libcucul, a standalone text manipulation backend, and libcaca, the display and user input frontend
  • Unicode support
  • TrueColor (more than 16 colours) support
  • Floyd-Steinberg dithering
  • gamma correction
  • export functions for HTML, IRC, ANSI, SVG, PostScript, TGA...
  • builtin fonts for device-independent bitmap output
  • various text transformation routines (rotation, horizontal flip...)
  • OpenGL renderer
  • kernel mode to build libcaca programs into a bootable x86 kernel
  • cacaserver, a telnet server that can be hooked to libcaca applications
  • img2irc, an image to IRC conversion utility

Changes between 0.8 and 0.9

  • fix for a buffer overflow in the line rendering
  • fixed resizing in the ncurses and slang drivers
  • aspect ratio and finer zoom support in cacaview
  • minor compilation fixes

Changes between 0.7 and 0.8

  • window resizing support
  • native Win32 port
  • autorepeat emulation in the ncurses and slang drivers
  • support for more keycodes in the ncurses and slang drivers
  • cacaplas, a plasma animation example
  • cacamoir, a moire circles animation example
  • MSVC project file

Changes between 0.6 and 0.7

  • many bugfixes in the event handling
  • cacaball, a metaball animation example

Changes between 0.5 and 0.6

  • 30% speed increase in the bitmap rendering routine
  • mouse support and various speed optimisations in the X11 driver
  • X11 is now the preferred driver
  • improved documentation
  • minor bugfixes

Changes between 0.4 and 0.5

  • palette optimisation for the S-Lang driver to work around the colour pair shortage bug
  • minor compilation fix

Changes between 0.3 and 0.4

  • preliminary X11 graphics driver
  • support for simultaneously compiled-in drivers
  • honour the CACA_DRIVER, CACA_GEOMETRY and CACA_FONT environment variables
  • more documentation

Changes between 0.2 and 0.3

  • antialiasing support
  • dithering, antialiasing and background mode can now be selected at runtime or in the environment using the CACA_BACKGROUND, CACA_DITHERING and CACA_ANTIALIASING variables
  • alpha channel support in cacaview
  • BMP loading support in cacaview even if Imlib2 is not present
  • cacafire, a libcaca port of aafire

Changes between 0.1 and 0.2

  • rendering now uses 256 colour pairs instead of 16
  • mouse support for ncurses
  • ncurses is now the preferred backend
  • arbitrary color depth and bitmasks in the bitmap renderer
  • cacaview, an image viewer based on libcaca

New in 0.1

  • initial release
  • slang, ncurses and conio drivers
  • basic line, box, ellipse and triangle primitives
  • colour bitmap blitting