Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
18 jaren geleden
Sam Hocevar
806f748059
* Made cucul_blit(), and therefore cucul_set_canvas_boundaries(), support
fullwidth characters.
* Added a case to test/fullwidth.c for cucul_blit and fullwidth chars.
18 jaren geleden
Sam Hocevar
df13e2a2e1
* Updated documentation of fullwidth-aware functions.
* Fullwidth support in all exporters.
18 jaren geleden
Sam Hocevar
4711611e3f
* Support for fullwidth glyphs in the libcaca output drivers.
18 jaren geleden
Sam Hocevar
b45eea0b39
* Support for fullwidth (= double width) Unicode characters.
18 jaren geleden
Sam Hocevar
5810f430d7
* Fix minor memory leak in cucul_set_canvas_boundaries().
18 jaren geleden
Sam Hocevar
5ee52bfd42
* Fixed a bug in cucul_putchar() that broke half of the Unicode set.
18 jaren geleden
Sam Hocevar
14e83acc9d
* Fixed chcul_getchar's error behaviour.
18 jaren geleden
Sam Hocevar
1ba0587622
* Implement cucul_set_canvas_boundaries() for cropping and expanding.
18 jaren geleden
Sam Hocevar
f13f15d2f1
* Implemented cucul_getchar(). Useful because you don’t necessarily know
what you are importing.
18 jaren geleden
Sam Hocevar
a1deddf2a6
* Fixed an out of bounds bug in cucul_blit().
18 jaren geleden
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 jaren geleden
Sam Hocevar
9137c0a059
* Export the UTF-8 / UTF-32 / CP437 character conversions to applications.
18 jaren geleden
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 jaren geleden
Sam Hocevar
235504d81a
* More error checking in libcucul.
18 jaren geleden
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 jaren geleden
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
18 jaren geleden
Sam Hocevar
bde0e5ca7e
* Changed cucul_clear_canvas() again. It now uses the current foreground
and background colours to clear the screen.
18 jaren geleden
Sam Hocevar
a4ac581b6f
* Renamed cucul_clear() to cucul_clear_canvas() and added an argument to
choose the background colour.
18 jaren geleden
Sam Hocevar
687a2c43f6
* Renamed caca_t into caca_display_t.
* Renamed canvas handle variables from "c" to "cv". Eh ouais mon gros.
18 jaren geleden
Sam Hocevar
246c5b4d67
* Renamed cucul_t into cucul_canvas_t. Eh ouais mon con.
18 jaren geleden
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 jaren geleden
Sam Hocevar
2c5ccb65e6
* Improved documentation in many places.
18 jaren geleden
Sam Hocevar
018fda76e8
* Removed \file directives from all files except caca.h and cucul.h, to
remove redundencies in the Doxygen documentation.
18 jaren geleden
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 jaren geleden
Sam Hocevar
af4b95f8e6
* Store colour information on 32 bits, for future 12-bit colour support.
18 jaren geleden
Sam Hocevar
c1664e356c
* Got rid of cucul_get_screen(). Use cucul_export() instead.
18 jaren geleden
Sam Hocevar
7be0932b8f
((`)_.._ ,'-. _..._ _._
* Ooops. Compilation fix. \,' '-._.-\ ' ` .-'
.' / (
/ S | _ _ \
| a \ o o |
; m .-. /
; ', '-.( '')-'
'. | ;-'
\ / /
/ /-._ __, 7 |
\ `\ \`` | | |
\ \_,\ | |_,\
'-`' \_,\
18 jaren geleden
Sam Hocevar
2213100258
* Got rid of the useless cucul_get_fg_color/cucul_get_bg_color functions.
18 jaren geleden
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 jaren geleden
Sam Hocevar
77f995023d
* Slightly changed header comments.
18 jaren geleden
Sam Hocevar
1c7d39a015
* Optimise cucul_blit() by using memcpy() if there is no mask.
18 jaren geleden
Sam Hocevar
73aad0447c
* Added the cucul_blit() function. It lets us blit various canvas one
onto the other with an optional mask.
18 jaren geleden
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 jaren geleden
Sam Hocevar
02ccf6ec3b
* Cosmetic fixes.
18 jaren geleden
Sam Hocevar
417b598d8d
* Factorised some charset handling code into a new cucul/charset.c file.
18 jaren geleden
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.
18 jaren geleden
Sam Hocevar
15ac34a918
* Added glue code to compile libcaca without a libc and build applications
as multiboot kernels.
18 jaren geleden
Sam Hocevar
70d96c811b
* Polished the driver split a bit (still no events, except resize events),
properly credited authors and documented a few things.
19 jaren geleden
Sam Hocevar
4f59010b4c
* Moved stuff around to differenciate between libcucul and libcaca.
19 jaren geleden
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 jaren geleden
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 jaren geleden
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 jaren geleden