Sam Hocevar
a09f027727
Add the copyright unit test and update copyright information everywhere.
pirms 15 gadiem
Sam Hocevar
107ff4b815
Large source code cleanup, getting rid of spaces, tabs, and svn keywords.
pirms 15 gadiem
Sam Hocevar
7d2a657926
Gather profiling information in caca_refresh_display() and caca_get_event().
pirms 15 gadiem
Sam Hocevar
516aa6b6ee
Better caca_get_event_mouse_button() documentation.
pirms 15 gadiem
Sam Hocevar
42a5c2bf69
Increased the autorepeat delay in the ncurses and SLang drivers. Now that
we have dirty rectangles, fast autorepeat becomes perfectly usable.
pirms 15 gadiem
Sam Hocevar
1fe8a8702a
A lot of documentation updates here and there, including bugfixes dating
back to the libcucul merge.
pirms 15 gadiem
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.
pirms 16 gadiem
Sam Hocevar
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
pirms 16 gadiem
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.
pirms 16 gadiem
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.
pirms 16 gadiem
Sam Hocevar
367e1ef512
* Fix a tiny use of uninitialised memory in caca_get_event() that may have
lead to deadlocks.
pirms 17 gadiem
Sam Hocevar
e15e962928
* Implement caca_create_display_with_driver() to specify an output driver
without using environment variables..
* Implement caca_get_display_driver() to return the current display's
output driver.
* Add a simple example program to test caca_create_display_with_driver().
pirms 17 gadiem
Sam Hocevar
07b9891afa
* Introduce cucul_get_canvas_chars() and cucul_get_canvas_attrs() to avoid
direct cv->chars and cv->attrs access by display drivers.
pirms 17 gadiem
Sam Hocevar
9da4d7b000
* Made the caca_event_t structure opaque and created a whole bunch of
functions to access its real data. This is a big API change that will
break your software, sorry :(
pirms 17 gadiem
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
pirms 17 gadiem
Jean-Yves Lamoureux
2276a03dae
* Changed threshold in key events, a bit more natural
pirms 18 gadiem
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
pirms 18 gadiem
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
pirms 18 gadiem
Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
pirms 18 gadiem
Sam Hocevar
bc5415d6a4
* Fixed libcaca prototypes so that all functions use the errno mechanism
and return a value.
pirms 18 gadiem
Sam Hocevar
0c1746c626
* Renamed the event data member "ucs4" to "utf32" for consistency
with "utf8".
pirms 18 gadiem
Jean-Yves Lamoureux
6682ce2bd9
* Fixed error in tutorial, updated caca_get_event() doc
pirms 18 gadiem
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
pirms 18 gadiem
Sam Hocevar
6c0e8da858
* Allow the caca_event_t *ev argument for caca_get_event() to be NULL.
pirms 18 gadiem
Sam Hocevar
687a2c43f6
* Renamed caca_t into caca_display_t.
* Renamed canvas handle variables from "c" to "cv". Eh ouais mon gros.
pirms 18 gadiem
Sam Hocevar
246c5b4d67
* Renamed cucul_t into cucul_canvas_t. Eh ouais mon con.
pirms 18 gadiem
Sam Hocevar
17c065a49e
* Replaced "struct cucul_*" and "struct caca_*" types with opaque typedefs
such as cucul_dither_t instead of struct cucul_dither.
* Made cucul_buffer_t an opaque structure and implemented the two getters
cucul_get_buffer_data() and cucul_get_buffer_size().
* Documented all missing functions and function parameters.
pirms 18 gadiem
Sam Hocevar
2c5ccb65e6
* Improved documentation in many places.
pirms 18 gadiem
Sam Hocevar
018fda76e8
* Removed \file directives from all files except caca.h and cucul.h, to
remove redundencies in the Doxygen documentation.
pirms 18 gadiem
Sam Hocevar
87604b8e1d
* Merged caca_wait_event() into caca_get_event() and added a timeout
parameter to do what both functions did before, and even more.
pirms 18 gadiem
Sam Hocevar
f149dc3ac4
* Massive rework of the event handling code, as per the TODO list.
pirms 18 gadiem
Sam Hocevar
77f995023d
* Slightly changed header comments.
pirms 18 gadiem
Sam Hocevar
02ccf6ec3b
* Cosmetic fixes.
pirms 19 gadiem
Sam Hocevar
da30961a0e
* Fixed async issues between the driver and libcaca when resizing windows,
and simplified the handle_resize() API. Still can be polished.
pirms 19 gadiem
Sam Hocevar
e44a01f08d
* Cosmetic changes here and there.
pirms 19 gadiem
Sam Hocevar
8f286f6432
* Finished moving everything driver-specific to the apropriate driver_*.c
files. Phew. Now they just need a few comments.
pirms 19 gadiem
Sam Hocevar
2936525ab7
* Split event.c into the appropriate driver_*.c files.
pirms 19 gadiem
Sam Hocevar
41e32c8809
* Got rid of static variables in the event code.
pirms 19 gadiem
Sam Hocevar
70d96c811b
* Polished the driver split a bit (still no events, except resize events),
properly credited authors and documented a few things.
pirms 19 gadiem
Sam Hocevar
34764ae68a
* Split caca/graphics.c into driver-specific files. Resize is currently
broken, and event handling is not yet in the driver-specific files, but
I will of course fix that later.
pirms 19 gadiem
Sam Hocevar
4f59010b4c
* Moved stuff around to differenciate between libcucul and libcaca.
pirms 19 gadiem
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.
pirms 19 gadiem
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.
pirms 19 gadiem
Sam Hocevar
707f10de81
* Changed the licensing to WTFPL, as per all copyright holders' permission.
pirms 19 gadiem
Jean-Yves Lamoureux
895adf52f3
* Fixed bug in events with GL driver
pirms 19 gadiem
Jean-Yves Lamoureux
49a53f68bc
* Fixed a bunch of warnings
pirms 19 gadiem
Jean-Yves Lamoureux
94bce66cf0
* src/event.c Fixed compilation problem when compiled without slang nor ncurses
pirms 19 gadiem
Sam Hocevar
970b0cfcc6
* src/event.c src/caca.c: fixed coding style
pirms 19 gadiem
Jean-Yves Lamoureux
7faa9019fd
* OpenGL driver mouse support
pirms 19 gadiem
Jean-Yves Lamoureux
1715754261
* Added Null driver and html3 exporter.
pirms 19 gadiem