Sam Hocevar
a1deddf2a6
* Fixed an out of bounds bug in cucul_blit().
18 lat temu
Sam Hocevar
58f3935f0f
* Have cucul_utf8_to_utf32 write how many bytes it read.
* Use that in the SLang driver so that it supports UTF-8 input.
18 lat temu
Sam Hocevar
9137c0a059
* Export the UTF-8 / UTF-32 / CP437 character conversions to applications.
18 lat temu
Sam Hocevar
7754db5ccf
* Changed cucul_putchar's prototype so that it accepts a 32-bit unsigned
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.
18 lat temu
Sam Hocevar
235504d81a
* More error checking in libcucul.
18 lat temu
Sam Hocevar
981c405554
* Check for <errno.h>.
* Started changing function prototypes so that they return an integer
instead of void, just in case they might fail.
18 lat temu
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
18 lat temu
Sam Hocevar
bde0e5ca7e
* Changed cucul_clear_canvas() again. It now uses the current foreground
and background colours to clear the screen.
18 lat temu
Sam Hocevar
a4ac581b6f
* Renamed cucul_clear() to cucul_clear_canvas() and added an argument to
choose the background colour.
18 lat temu
Sam Hocevar
687a2c43f6
* Renamed caca_t into caca_display_t.
* Renamed canvas handle variables from "c" to "cv". Eh ouais mon gros.
18 lat temu
Sam Hocevar
246c5b4d67
* Renamed cucul_t into cucul_canvas_t. Eh ouais mon con.
18 lat temu
Sam Hocevar
9f0a475645
* Moved cucul_set_color() from canvas.c to colour.c.
* Added cucul_set_truecolor() for non-ANSI colours.
* Added new argb32 -> rgb12 conversion functions.
18 lat temu
Sam Hocevar
2c5ccb65e6
* Improved documentation in many places.
18 lat temu
Sam Hocevar
018fda76e8
* Removed \file directives from all files except caca.h and cucul.h, to
remove redundencies in the Doxygen documentation.
18 lat temu
Sam Hocevar
988f2f4e92
* Replaced enum cucul_color with unsigned int. The size of an enum is not
really portable, and Visual Studio complains when they are not explicitely
cast.
18 lat temu
Sam Hocevar
af4b95f8e6
* Store colour information on 32 bits, for future 12-bit colour support.
18 lat temu
Sam Hocevar
c1664e356c
* Got rid of cucul_get_screen(). Use cucul_export() instead.
18 lat temu
Sam Hocevar
7be0932b8f
((`)_.._ ,'-. _..._ _._
* Ooops. Compilation fix. \,' '-._.-\ ' ` .-'
.' / (
/ S | _ _ \
| a \ o o |
; m .-. /
; ', '-.( '')-'
'. | ;-'
\ / /
/ /-._ __, 7 |
\ `\ \`` | | |
\ \_,\ | |_,\
'-`' \_,\
18 lat temu
Sam Hocevar
2213100258
* Got rid of the useless cucul_get_fg_color/cucul_get_bg_color functions.
18 lat temu
Sam Hocevar
6db26f7487
* Made cucul_putchar32() an internal-only function.
* Changed the line, box, ellipsis etc. prototypes so that they use an UTF-8
string instead of a single character as their last argument.
18 lat temu
Sam Hocevar
77f995023d
* Slightly changed header comments.
18 lat temu
Sam Hocevar
1c7d39a015
* Optimise cucul_blit() by using memcpy() if there is no mask.
18 lat temu
Sam Hocevar
73aad0447c
* Added the cucul_blit() function. It lets us blit various canvas one
onto the other with an optional mask.
18 lat temu
Sam Hocevar
6b0f180e2f
* Renamed cucul/char.c into cucul/canvas.c because I'm adding stuff there
that is a bit more high level than characters.
18 lat temu
Sam Hocevar
02ccf6ec3b
* Cosmetic fixes.
18 lat temu
Sam Hocevar
417b598d8d
* Factorised some charset handling code into a new cucul/charset.c file.
18 lat temu
Sam Hocevar
6e652d1e47
* Preliminary support for UTF-8 in cucul_putstr(). Also added a
cucul_putchar32() function but I'm not convinced it will be useful.
19 lat temu
Sam Hocevar
15ac34a918
* Added glue code to compile libcaca without a libc and build applications
as multiboot kernels.
19 lat temu
Sam Hocevar
70d96c811b
* Polished the driver split a bit (still no events, except resize events),
properly credited authors and documented a few things.
19 lat temu
Sam Hocevar
4f59010b4c
* Moved stuff around to differenciate between libcucul and libcaca.
19 lat temu
Sam Hocevar
6c6beb3541
* Use 32 bit integers for the character array. No visible difference for
now because we only do ASCII, but that will let us do Unicode later.
19 lat temu
Sam Hocevar
6d99c79d26
* All output plugins should now work again.
* 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.
19 lat temu
Sam Hocevar
4c72df99aa
A new low-level text management library (canvas for ultrafast compositing
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.
19 lat temu