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.
il y a 15 ans
Sam Hocevar
4648ab11aa
Implement caca_vprintf() to allow third-party variadic functions to call us.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
Pascal Terjan
4bd79baf96
* Add dirty rectangles when moving cursor
il y a 15 ans
Pascal Terjan
1f79729288
* When blitting, only add dirty rectangles on changed
lines, or on changed chars if we have a mask
il y a 15 ans
Sam Hocevar
99a266a83b
Fix caca_get_char() documentation, courtesy of Romain Bignon.
il y a 15 ans
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
il y a 16 ans
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.
il y a 16 ans
Sam Hocevar
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
il y a 16 ans
Sam Hocevar
ec68a634cf
* Get rid of the last long types in the API.
* Use size_t and ssize_t where appropriate.
il y a 16 ans
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.
il y a 16 ans
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.
il y a 16 ans
Jean-Yves Lamoureux
4d9b88ff3e
* Fixed cucul_set_canvas_boundaries() bug that prevented good size to be applied on the resized canvas
il y a 16 ans
Sam Hocevar
81d6119762
* Implemented cucul_canvas_set_figfont() from TOIlet’s open_font().
il y a 17 ans
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
il y a 17 ans
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
il y a 18 ans
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
il y a 18 ans
Sam Hocevar
f1f00897c5
* Fix shadowing declarations.
il y a 18 ans
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.
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
3243101ff0
* Rename cucul_put*() into cucul_put_*(). Updated all code to reflect that.
il y a 18 ans
Sam Hocevar
8c5342b263
* Made cucul_blit() handle-aware. Added a blit test for that.
il y a 18 ans
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
il y a 18 ans
Sam Hocevar
21bfa6210d
* Cosmetic code and documentation changes here and there.
* Updated TODO.
il y a 18 ans
Sam Hocevar
9fb85b253c
* Prepare the way for per-frame width/height information.
il y a 18 ans
Sam Hocevar
44c286272c
* Minor documentation fixes.
il y a 18 ans
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().
il y a 18 ans
Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
df13e2a2e1
* Updated documentation of fullwidth-aware functions.
* Fullwidth support in all exporters.
il y a 18 ans
Sam Hocevar
4711611e3f
* Support for fullwidth glyphs in the libcaca output drivers.
il y a 18 ans
Sam Hocevar
b45eea0b39
* Support for fullwidth (= double width) Unicode characters.
il y a 18 ans
Sam Hocevar
5810f430d7
* Fix minor memory leak in cucul_set_canvas_boundaries().
il y a 18 ans
Sam Hocevar
5ee52bfd42
* Fixed a bug in cucul_putchar() that broke half of the Unicode set.
il y a 18 ans
Sam Hocevar
14e83acc9d
* Fixed chcul_getchar's error behaviour.
il y a 18 ans
Sam Hocevar
1ba0587622
* Implement cucul_set_canvas_boundaries() for cropping and expanding.
il y a 18 ans
Sam Hocevar
f13f15d2f1
* Implemented cucul_getchar(). Useful because you don’t necessarily know
what you are importing.
il y a 18 ans
Sam Hocevar
a1deddf2a6
* Fixed an out of bounds bug in cucul_blit().
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
9137c0a059
* Export the UTF-8 / UTF-32 / CP437 character conversions to applications.
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
235504d81a
* More error checking in libcucul.
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
il y a 18 ans