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 jaren geleden
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 jaren geleden
Sam Hocevar
10bf9f48a7
* Rename "test" to "examples". The former will become a real testsuite.
* Autodetect zzuf in the configure step. It might become handy.
17 jaren geleden
Sam Hocevar
a7debae6f9
* Fix memory leaks that slipped in here and there. We still have 100,000
fewer than Firefox, lol.
17 jaren geleden
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 :(
17 jaren geleden
Sam Hocevar
7db5247e43
* Do not assume default gamma value is 1.0.
17 jaren geleden
Jean-Yves Lamoureux
6b807c1a90
* Added error checks on canvas / display creations
18 jaren geleden
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
18 jaren geleden
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
18 jaren geleden
Sam Hocevar
88facd894c
* Switch back to UTF-32 arguments for drawing primitives, now that we
properly export cucul_utf8_to_utf32(). Evil API breakage, but no one
uses these functions anyway.
18 jaren geleden
Sam Hocevar
42c9518d2a
* Got rid of cucul_ansi_to_attr() and cucul_argb_to_attr() and restored
cucul_set_color() and cucul_set_truecolor() under the new names
cucul_set_color_ansi() and cucul_set_color_argb().
* Renamed cucul_get_color_name() into cucul_ansi_to_str().
18 jaren geleden
Sam Hocevar
0b37a307dd
* Get rid of cucul_set_attr_ansi() and cucul_set_attr_argb and merge the
functionality into cucul_set_attr().
* Add cucul_ansi_to_attr() and cucul_argb_to_attr().
* Rename CUCUL_COLOR_* to CUCUL_*.
18 jaren geleden
Sam Hocevar
aa93ad25f6
* Remove cucul_set_color() from the exported API and replaced all calls
with cucul_set_attr_ansi(). Old application will still compile (but issue
a warning) and run, though.
18 jaren geleden
Jean-Yves Lamoureux
1b821e2588
* Updated kernel 'driver', still not working, but most of the work is done
18 jaren geleden
Sam Hocevar
4ed8de10ac
* Fix badly initialised data in the gamma test.
18 jaren geleden
Sam Hocevar
5d12480dd6
* Renamed caca_set_delay() and caca_get_rendertime() into
caca_set_display_time() and caca_get_display_time() for consistency.
18 jaren geleden
Sam Hocevar
370fb06990
* Added "common.h", a placeholder for simple features and functions missing
from some systems.
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
1ec6544305
* More function mass-renaming: caca_attach -> caca_create_display, etc.
18 jaren geleden
Sam Hocevar
0deb4abc25
* Changed the cucul_dither_bitmap behaviour so that the 4 coordinates are
now x/y/width/height instead of x1/y1/x2/y2. Avoids unnecessary +1/-1
computations.
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
18f6532dbc
* Renamed main canvas-related functions so that they have "canvas" in
their name, eg. cucul_create() -> cucul_create_canvas() etc.
* Moved buffer-related functions to cucul/buffer.c.
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
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.
18 jaren geleden
Sam Hocevar
58ff9ea1f5
* Renamed *bitmap to *dither. Ben ouais connard, je fais ce que je veux.
18 jaren geleden
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.
18 jaren geleden
Sam Hocevar
f149dc3ac4
* Massive rework of the event handling code, as per the TODO list.
18 jaren geleden
Sam Hocevar
9e0548113d
* Hahaha mais le vieux porc c'est moi.
18 jaren geleden
Sam Hocevar
571de1af04
* Renamed cucul_init()/cucul_end() into cucul_create()/cucul_free().
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
36886a339e
* Removed the cucul_t * argument from cucul_create_bitmap(). It's not needed.
18 jaren geleden
Sam Hocevar
c979bc6eae
* Changed the cucul_init parameter so that it now directly accepts a
canvas size (use cucul_init(0, 0) for the old behaviour).
18 jaren geleden
Sam Hocevar
fabd8c7467
* Added colour to the gamma test.
18 jaren geleden
Sam Hocevar
892f55aed9
* Animated gamma test.
18 jaren geleden
Sam Hocevar
42cbd10958
___
* Bitmap gamma test example. Of ,---. /""`_,'
course it does not work yet, | `\``""-; /
because some dirty old pig \ /`\\ ';'
implemented a cucul_powf() .') | __ \
function that only works / (` / /(O\. _|
with integer exponents. .-`| `"` ` .-\_
.-' \ ` ;=-.
HAHAHAHA MAIS .' . ._, / o o\
VIEUX PORC ! .-'` . '-._;_._.J
.-'` `.-'`
_. -` L ' .'
.' U '- ._.-'
/` C /
/ y |
._ ; J | |
)).-| | | /
(/`.-| \ \ / .;
( (_)| | \ ; .' |
'--'; | `\ / / |
\ | `\ /.' /
\ / ; |`\ |
'. .' _.-| | | |
'-. .-';_"---'`.__| | | \
`'-._ ``'-. | \ \__\\
`''--.___\\ \__\\
18 jaren geleden
Sam Hocevar
dcaccc744c
* Got rid of useless parameters in cucul_*_bitmap and cucul_*_sprite.
18 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
Sam Hocevar
707f10de81
* Changed the licensing to WTFPL, as per all copyright holders' permission.
19 jaren geleden
Sam Hocevar
17f9a58aa6
* src/io.c:
+ caca_get_event() and caca_wait_event() now accept a mask as an argument
in order to select events.
21 jaren geleden
Sam Hocevar
5113f459dc
* test/hsv.c:
+ Trivial saturation/value rendering test.
21 jaren geleden