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.
пре 18 година
Sam Hocevar
36886a339e
* Removed the cucul_t * argument from cucul_create_bitmap(). It's not needed.
пре 18 година
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 година
Sam Hocevar
fabd8c7467
* Added colour to the gamma test.
пре 18 година
Sam Hocevar
892f55aed9
* Animated gamma test.
пре 18 година
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 година
Sam Hocevar
dcaccc744c
* Got rid of useless parameters in cucul_*_bitmap and cucul_*_sprite.
пре 18 година
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 година