Sam Hocevar
1f5518f842
Rename caca_get_cursor_x() and caca_get_cursor_y() to caca_wherex() and
caca_wherey(), in order to match the old <conio.h> naming scheme.
15 anni fa
Sam Hocevar
4648ab11aa
Implement caca_vprintf() to allow third-party variadic functions to call us.
15 anni fa
Sam Hocevar
5269cad56c
Allow to temporarily disable dirty rectangle handling. This allows for huge
speedups when the calling application knows the dirty rectangle covered by
a complex operation.
15 anni fa
Sam Hocevar
4f7081153e
Do not add a dirty rectangle at the cursor's position. It's up to the
display driver to clean up its shit. Fixed X11 driver accordingly.
15 anni fa
Pascal Terjan
4bd79baf96
* Add dirty rectangles when moving cursor
15 anni fa
Pascal Terjan
1f79729288
* When blitting, only add dirty rectangles on changed
lines, or on changed chars if we have a mask
15 anni fa
Sam Hocevar
99a266a83b
Fix caca_get_char() documentation, courtesy of Romain Bignon.
15 anni fa
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
15 anni fa
Sam Hocevar
ea99175a2f
Change the dirty rectangle API once again so that calling applications get
a more natural (x,y,w,h) 4-tuple to handle.
15 anni fa
Sam Hocevar
a6b98c2518
Change the dirty rectangle API so that it can handle several rectangles. The
inner implementation still only handles one dirty rectangle, but this way
we can prepare supporting applictions for the future.
15 anni fa
Sam Hocevar
3b3bf0160d
Fix a few dirty rectangle bugs found with the unit tests. Let that be a
lesson to you: unit tests are good.
15 anni fa
Sam Hocevar
3a6f4323ec
Finish the dirty rectangle architecture. They are now reliable in the sense
that anything outside the dirty rectangle is guaranteed to be unchanged, but
we currently mark far too many cells as dirty. This must be optimised.
15 anni fa
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
16 anni fa
Sam Hocevar
f61816ceb7
Starting refactoring to get rid of libcucul. The initial reason for the
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.
16 anni fa
Sam Hocevar
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
16 anni fa
Sam Hocevar
ec68a634cf
* Get rid of the last long types in the API.
* Use size_t and ssize_t where appropriate.
16 anni fa
Sam Hocevar
6a3f5c21f0
* Changed most of the long ints in the API into C99 types. WARNING: this
completely breaks compatibility with previous versions of libcaca on
64-bit systems.
16 anni fa
Sam Hocevar
99b5396e8e
* Remove #include <stdint.h> etc. from "common.h". Instead, make sure that
<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.
16 anni fa
Jean-Yves Lamoureux
4d9b88ff3e
* Fixed cucul_set_canvas_boundaries() bug that prevented good size to be applied on the resized canvas
16 anni fa
Sam Hocevar
81d6119762
* Implemented cucul_canvas_set_figfont() from TOIlet’s open_font().
17 anni fa
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
17 anni fa
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
18 anni fa
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
18 anni fa
Sam Hocevar
f1f00897c5
* Fix shadowing declarations.
18 anni fa
Sam Hocevar
54d459067a
* Implemented cucul_get_frame_name() and cucul_set_frame_name().
* Renamed cucul_*_canvas_frame() to cucul_*_frame() because we bloody well
know that a frame belongs to a canvas.
18 anni fa
Sam Hocevar
51936f585c
* Got rid of HAVE_ERRNO_H ifdefs by defining seterrno()/geterrno() functions.
* More debugging information in the import/export and font functions.
18 anni fa
Sam Hocevar
3243101ff0
* Rename cucul_put*() into cucul_put_*(). Updated all code to reflect that.
18 anni fa
Sam Hocevar
8c5342b263
* Made cucul_blit() handle-aware. Added a blit test for that.
18 anni fa
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
18 anni fa
Sam Hocevar
21bfa6210d
* Cosmetic code and documentation changes here and there.
* Updated TODO.
18 anni fa
Sam Hocevar
9fb85b253c
* Prepare the way for per-frame width/height information.
18 anni fa
Sam Hocevar
44c286272c
* Minor documentation fixes.
18 anni fa
Sam Hocevar
86301dd48c
* Use the LSB of alpha and blue components to encode additional flags such
as bold or underline. No higher level support for these yet, but at
least everything is consistent.
* Created cucul_set_attr_ansi() and cucul_set_attr_argb() which are bound
to replace cucul_set_color() and cucul_set_truecolor().
18 anni fa
Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
18 anni fa
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 anni fa
Sam Hocevar
df13e2a2e1
* Updated documentation of fullwidth-aware functions.
* Fullwidth support in all exporters.
18 anni fa
Sam Hocevar
4711611e3f
* Support for fullwidth glyphs in the libcaca output drivers.
18 anni fa
Sam Hocevar
b45eea0b39
* Support for fullwidth (= double width) Unicode characters.
18 anni fa
Sam Hocevar
5810f430d7
* Fix minor memory leak in cucul_set_canvas_boundaries().
18 anni fa
Sam Hocevar
5ee52bfd42
* Fixed a bug in cucul_putchar() that broke half of the Unicode set.
18 anni fa
Sam Hocevar
14e83acc9d
* Fixed chcul_getchar's error behaviour.
18 anni fa
Sam Hocevar
1ba0587622
* Implement cucul_set_canvas_boundaries() for cropping and expanding.
18 anni fa
Sam Hocevar
f13f15d2f1
* Implemented cucul_getchar(). Useful because you don’t necessarily know
what you are importing.
18 anni fa
Sam Hocevar
a1deddf2a6
* Fixed an out of bounds bug in cucul_blit().
18 anni fa
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 anni fa
Sam Hocevar
9137c0a059
* Export the UTF-8 / UTF-32 / CP437 character conversions to applications.
18 anni fa
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 anni fa
Sam Hocevar
235504d81a
* More error checking in libcucul.
18 anni fa
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 anni fa
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
18 anni fa