Sam Hocevar
16c3765dd7
configure.ac: use more modern autoconf syntax.
vor 16 Jahren
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
vor 16 Jahren
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.
vor 16 Jahren
Sam Hocevar
850fc14032
* Fix plugin build.
vor 16 Jahren
Sam Hocevar
621f107c72
* Documentation fixes (due to renamings, some parameters were no longer
documented).
vor 16 Jahren
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.
vor 16 Jahren
Sam Hocevar
b7a785ff38
* Implemented caca_set_display_driver() to change driver at runtime.
vor 17 Jahren
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().
vor 17 Jahren
Sam Hocevar
283e1ef70b
* Remove cruft from caca_get_display_driver_list().
vor 17 Jahren
Sam Hocevar
5b2b3e27db
* Implemented caca_get_display_driver_list(), unused yet.
vor 17 Jahren
Sam Hocevar
9c72677ccf
* Add cucul_get_version() and caca_get_version() and updated C++ bindings
accordingly.
* The C++ test example no longer needs "config.h".
vor 17 Jahren
Sam Hocevar
03ad8a42fd
* Allow caca_create_display()'s argument to be NULL. It will automatically
create a canvas when so.
* Add caca_get_canvas() to retrieve the cucul canvas.
vor 17 Jahren
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.
vor 17 Jahren
Sam Hocevar
7362a612c4
* Add cucul_manage_canvas() and cucul_unmanage_canvas(). Display
drivers no longer need to access the cv->refcount private member
and __cucul_set_canvas_size() is no longer needed.
vor 17 Jahren
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
vor 18 Jahren
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
vor 18 Jahren
Sam Hocevar
afed497172
* Added all the glue needed for a Cocoa output driver.
vor 18 Jahren
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.
vor 18 Jahren
Sam Hocevar
d1bccd4fba
* Added a --enable-plugins configure flag that builds the GL and X11 drivers
as plugins. This way, libcaca does not directly depend on those libraries.
vor 18 Jahren
Sam Hocevar
383fb90110
* Do not build the raw output in kernel mode.
* Fix cucul_utf32_to_cp437() call in the VGA output.
vor 18 Jahren
Sam Hocevar
bc5415d6a4
* Fixed libcaca prototypes so that all functions use the errno mechanism
and return a value.
vor 18 Jahren
Sam Hocevar
ec3b082509
* Fixed UTF-8 support in ncurses.
* Set ncurses's priority higher than slang.
vor 18 Jahren
Sam Hocevar
1f3e745f52
* Minor cosmetic changes in the test programs.
* Code enhancements in the ncurses driver.
* Added a comment to explain why slang has a higher priority than ncurses.
vor 18 Jahren
Sam Hocevar
5cb4d4dedf
* Removed duplicate uint*_t defines from *_internal.h and included common.h
in all .c files that needed it.
vor 18 Jahren
Sam Hocevar
1ec6544305
* More function mass-renaming: caca_attach -> caca_create_display, etc.
vor 18 Jahren
Sam Hocevar
687a2c43f6
* Renamed caca_t into caca_display_t.
* Renamed canvas handle variables from "c" to "cv". Eh ouais mon gros.
vor 18 Jahren
Sam Hocevar
246c5b4d67
* Renamed cucul_t into cucul_canvas_t. Eh ouais mon con.
vor 18 Jahren
Sam Hocevar
2c5ccb65e6
* Improved documentation in many places.
vor 18 Jahren
Sam Hocevar
018fda76e8
* Removed \file directives from all files except caca.h and cucul.h, to
remove redundencies in the Doxygen documentation.
vor 18 Jahren
Sam Hocevar
08a16c80fe
* Removed the network driver and replaced it with a cacaserver executable
that has all the functionality, except it does not work yet (the stdin
reading routine is missing).
vor 18 Jahren
Sam Hocevar
a6848be41e
* Created a minimal raw driver that outputs stuff to stdout.
vor 18 Jahren
Sam Hocevar
70cb2ab916
* Allow the driver initialisation to fail, for instance when $DISPLAY = "".
vor 18 Jahren
Sam Hocevar
f149dc3ac4
* Massive rework of the event handling code, as per the TODO list.
vor 18 Jahren
Sam Hocevar
77f995023d
* Slightly changed header comments.
vor 18 Jahren
Sam Hocevar
0c9103f95a
* Cosmetic.
vor 19 Jahren
Sam Hocevar
5c9868e79a
* Ooops, fixed an old typo.
vor 19 Jahren
Sam Hocevar
0889bf4799
* Fixed an uninitialised variable in the event queue handling.
vor 19 Jahren
Jean-Yves Lamoureux
d47bd8b490
* Added CACA_NETWORK_PORT env and related documentation
vor 19 Jahren
Sam Hocevar
37d1bec329
* Pure VGA output driver.
vor 19 Jahren
Jean-Yves Lamoureux
fd331c1504
* Added very preliminary network driver
vor 19 Jahren
Sam Hocevar
da30961a0e
* Fixed async issues between the driver and libcaca when resizing windows,
and simplified the handle_resize() API. Still can be polished.
vor 19 Jahren
Sam Hocevar
e44a01f08d
* Cosmetic changes here and there.
vor 19 Jahren
Sam Hocevar
8f286f6432
* Finished moving everything driver-specific to the apropriate driver_*.c
files. Phew. Now they just need a few comments.
vor 19 Jahren
Sam Hocevar
41e32c8809
* Got rid of static variables in the event code.
vor 19 Jahren
Sam Hocevar
70d96c811b
* Polished the driver split a bit (still no events, except resize events),
properly credited authors and documented a few things.
vor 19 Jahren
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.
vor 19 Jahren
Sam Hocevar
4f59010b4c
* Moved stuff around to differenciate between libcucul and libcaca.
vor 19 Jahren
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.
vor 19 Jahren
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.
vor 19 Jahren
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.
vor 19 Jahren