Sam Hocevar
cd61fce90e
build: ship a weak symbol for vsnprintf, too, because our weak symbol for
sprintf_s uses that function and VS2010 does not strip it off even if it
is unused. Also do not use 64-bit integer division in the timer code because
that will create unwanted references to ___moddi3 and ___divdi3.
12 роки тому
Sam Hocevar
02bb261647
win32: define a custom sprintf_s() weak symbol. The VS2010 runtime does not
provide the deprecated snprintf(). The mingw32 runtime does not provide the
MS-specific sprintf_s(). Mingw-w64 copes with both. So we switch to sprintf_s
but also provide it as a weak symbol so that mingw32 does not complain.
12 роки тому
Sam Hocevar
a09f027727
Add the copyright unit test and update copyright information everywhere.
15 роки тому
Sam Hocevar
107ff4b815
Large source code cleanup, getting rid of spaces, tabs, and svn keywords.
15 роки тому
Sam Hocevar
231c33acce
Fix an alignment issue in caca_get_canvas_chars() and caca_get_canvas_attrs().
Fixes #41 .
15 роки тому
Sam Hocevar
f5598e7b4f
I forgot to initialise dirty_disabled in the canvas constructor.
15 роки тому
Sam Hocevar
5269cad56c
Allow to temporarily disable dirty rectangle handling. This allows for huge
speedups when the calling application knows the dirty rectangle covered by
a complex operation.
15 роки тому
Sam Hocevar
10719139e6
Store dirty rectangles in a structure list. For now there is still only
one dirty rectangle, but this is the first step to improvement.
15 роки тому
Sam Hocevar
ea99175a2f
Change the dirty rectangle API once again so that calling applications get
a more natural (x,y,w,h) 4-tuple to handle.
15 роки тому
Sam Hocevar
dd48fb62b3
Optimise the dirty rectangle handling by keeping track of the number of
currently dirty rectangles.
15 роки тому
Sam Hocevar
a6b98c2518
Change the dirty rectangle API so that it can handle several rectangles. The
inner implementation still only handles one dirty rectangle, but this way
we can prepare supporting applictions for the future.
15 роки тому
Sam Hocevar
3b3bf0160d
Fix a few dirty rectangle bugs found with the unit tests. Let that be a
lesson to you: unit tests are good.
15 роки тому
Sam Hocevar
3a6f4323ec
Finish the dirty rectangle architecture. They are now reliable in the sense
that anything outside the dirty rectangle is guaranteed to be unchanged, but
we currently mark far too many cells as dirty. This must be optimised.
15 роки тому
Sam Hocevar
a94a7e912c
Set up the architecture for dirty rectangles.
Dirty rectangles are an upcoming optimisation that will tell the output
drivers which portion of the canvas has been really modified since the
last blit.
15 роки тому
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
16 роки тому
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
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
16 роки тому
Sam Hocevar
f44b5e11fa
* Changed most "unsigned char" variables into "uint8_t", including in
prototypes. As they are equivalent, this does not break the ABI.
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
d06bf76c96
=?utf-8?q?=20=20*=20Implement=20cucul=5Fput=5Ffigchar()=20to=20paste=20FIGlet/TOIlet=20characters=20in
=20=20=20=20=20=20=20=20=20=20=E2=96=8C=20=E2=96=8C=20=20=20=E2=96=9C=E2=96=9C=20=20=20=20=C2=A0=E2=96=8C=20=E2=96=8C=20=20=20=20=20=20=E2=96=9C=20=20=20=E2=96=8C=E2=96=90
=20=20=20=20=20=20=20=20=20=20=E2=96=99=E2=96=84=E2=96=8C=E2=96=9E=E2=96=80=E2=96=96=E2=96=90=E2=96=90=20=E2=96=9E=E2=96=80=E2=96=96=C2=A0=E2=96=8C=E2=96=96=E2=96=8C=E2=96=9E=E2=96=80=E2=96=96=E2=96=99=E2=96=80=E2=96=96=E2=96=90=20=E2=96=9E=E2=96=80=E2=96=8C=E2=96=90
=20=20=20=20=20=20=20=20=20=20=E2=96=8C=20=E2=96=8C=E2=96=9B=E2=96=80=20=E2=96=90=E2=96=90=20=E2=96=8C=20=E2=96=8C=C2=A0=E2=96=99=E2=96=9A=E2=96=8C=E2=96=8C=20=E2=96=8C=E2=96=8C=20=C2=A0=E2=96=90=20=E2=96=8C=20=E2=96=8C=E2=96=9D
=20=20=20=20=20=20=20=20=20=20=E2=96=98=20=E2=96=98=E2=96=9D=E2=96=80=E2=96=98=20=E2=96=98=E2=96=98=E2=96=9D=E2=96=80=20=C2=A0=E2=96=98=20=E2=96=98=E2=96=9D=E2=96=80=20=E2=96=98=20=20=20=E2=96=98=E2=96=9D=E2=96=80=E2=96=98=E2=96=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
17 роки тому
Sam Hocevar
81d6119762
* Implemented cucul_canvas_set_figfont() from TOIlet’s open_font().
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
9c72677ccf
* Add cucul_get_version() and caca_get_version() and updated C++ bindings
accordingly.
* The C++ test example no longer needs "config.h".
17 роки тому
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.
17 роки тому
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.
17 роки тому
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
17 роки тому
Sam Hocevar
31cbfb5bea
* Rename _cucul_set_canvas_size into __cucul_set_canvas_size to prevent
collisions due to symbol mangling.
17 роки тому
Sam Hocevar
2224430ec1
* Reset cursor position after a resize. Not sure it’s what I want.
17 роки тому
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
77bed4f704
* Got rid of that ugly cv->import member.
18 роки тому
Sam Hocevar
4f4f887080
* Improved vt220 import by adding a persistent context to canvases.
18 роки тому
Sam Hocevar
54d459067a
* Implemented cucul_get_frame_name() and cucul_set_frame_name().
* Renamed cucul_*_canvas_frame() to cucul_*_frame() because we bloody well
know that a frame belongs to a canvas.
18 роки тому
Sam Hocevar
46b84c8c02
* Fix a bug in cucul_set_canvas_size() that caused the default attribute
to be ignored.
18 роки тому
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.
18 роки тому
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
18 роки тому
Sam Hocevar
9fb85b253c
* Prepare the way for per-frame width/height information.
18 роки тому
Sam Hocevar
39553873fd
* Fix minor uninitialised data bug in cucul_canvas_create().
18 роки тому
Sam Hocevar
fae8b54e54
* Allow to resize canvases back to (0,0).
18 роки тому
Sam Hocevar
d549d07c0a
* Got rid of very old _cucul_init_dither() function call.
18 роки тому
Sam Hocevar
894924603d
* Fix the default canvas colour value.
18 роки тому
Sam Hocevar
67ff5d5b1d
* Got rid of cucul_ansi_to_str(), it's really useless.
* Partial update of the C++ bindings.
* Updated documentation.
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
86301dd48c
* Use the LSB of alpha and blue components to encode additional flags such
as bold or underline. No higher level support for these yet, but at
least everything is consistent.
* Created cucul_set_attr_ansi() and cucul_set_attr_argb() which are bound
to replace cucul_set_color() and cucul_set_truecolor().
18 роки тому
Sam Hocevar
e03e1d62da
* Allow to create the initial canvas with a zero size. Either the application
resizes it later, or the driver changes it to fit the display.
18 роки тому
Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
18 роки тому
Sam Hocevar
e366c39223
* Fix minor memory leak in cucul_free_canvas().
18 роки тому
Sam Hocevar
6bae0e64cc
* Initialise colours to default/transparent instead of lightgray/black.
18 роки тому
Sam Hocevar
be77a0e2ea
* When resizing a canvas, use the current fg/bg colours to fill holes.
18 роки тому