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 роки тому
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 роки тому
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 роки тому
Sam Hocevar
a7debae6f9
* Fix memory leaks that slipped in here and there. We still have 100,000
fewer than Firefox, lol.
17 роки тому
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 роки тому
Sam Hocevar
7db5247e43
* Do not assume default gamma value is 1.0.
17 роки тому
Jean-Yves Lamoureux
6b807c1a90
* Added error checks on canvas / display creations
18 роки тому
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
18 роки тому
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
18 роки тому
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 роки тому
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 роки тому
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 роки тому
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 роки тому
Jean-Yves Lamoureux
1b821e2588
* Updated kernel 'driver', still not working, but most of the work is done
18 роки тому
Sam Hocevar
4ed8de10ac
* Fix badly initialised data in the gamma test.
18 роки тому
Sam Hocevar
5d12480dd6
* Renamed caca_set_delay() and caca_get_rendertime() into
caca_set_display_time() and caca_get_display_time() for consistency.
18 роки тому
Sam Hocevar
370fb06990
* Added "common.h", a placeholder for simple features and functions missing
from some systems.
18 роки тому
Sam Hocevar
bde0e5ca7e
* Changed cucul_clear_canvas() again. It now uses the current foreground
and background colours to clear the screen.
18 роки тому
Sam Hocevar
1ec6544305
* More function mass-renaming: caca_attach -> caca_create_display, etc.
18 роки тому
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 роки тому
Sam Hocevar
a4ac581b6f
* Renamed cucul_clear() to cucul_clear_canvas() and added an argument to
choose the background colour.
18 роки тому
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 роки тому
Sam Hocevar
687a2c43f6
* Renamed caca_t into caca_display_t.
* Renamed canvas handle variables from "c" to "cv". Eh ouais mon gros.
18 роки тому
Sam Hocevar
246c5b4d67
* Renamed cucul_t into cucul_canvas_t. Eh ouais mon con.
18 роки тому
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 роки тому
Sam Hocevar
58ff9ea1f5
* Renamed *bitmap to *dither. Ben ouais connard, je fais ce que je veux.
18 роки тому
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 роки тому
Sam Hocevar
f149dc3ac4
* Massive rework of the event handling code, as per the TODO list.
18 роки тому
Sam Hocevar
9e0548113d
* Hahaha mais le vieux porc c'est moi.
18 роки тому
Sam Hocevar
571de1af04
* Renamed cucul_init()/cucul_end() into cucul_create()/cucul_free().
18 роки тому
Sam Hocevar
73aad0447c
* Added the cucul_blit() function. It lets us blit various canvas one
onto the other with an optional mask.
19 роки тому
Sam Hocevar
36886a339e
* Removed the cucul_t * argument from cucul_create_bitmap(). It's not needed.
19 роки тому
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).
19 роки тому
Sam Hocevar
fabd8c7467
* Added colour to the gamma test.
19 роки тому
Sam Hocevar
892f55aed9
* Animated gamma test.
19 роки тому
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 | |
)).-| | | /
(/`.-| \ \ / .;
( (_)| | \ ; .' |
'--'; | `\ / / |
\ | `\ /.' /
\ / ; |`\ |
'. .' _.-| | | |
'-. .-';_"---'`.__| | | \
`'-._ ``'-. | \ \__\\
`''--.___\\ \__\\
19 роки тому
Sam Hocevar
dcaccc744c
* Got rid of useless parameters in cucul_*_bitmap and cucul_*_sprite.
19 роки тому
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 роки тому
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 роки тому
Sam Hocevar
707f10de81
* Changed the licensing to WTFPL, as per all copyright holders' permission.
19 роки тому
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 роки тому
Sam Hocevar
5113f459dc
* test/hsv.c:
+ Trivial saturation/value rendering test.
21 роки тому