Sam Hocevar
f1267fbd3c
Fix copyright headers so that the testsuite passes again.
il y a 6 ans
Sam Hocevar
5f0ec215f8
Remove legacy code from 10 years ago.
il y a 6 ans
Sam Hocevar
558812d3fe
Update copyright information.
il y a 8 ans
Sam Hocevar
d33e961dc9
Only declare weak symbols if the runtime doesn’t have them. Fixes #8 .
il y a 8 ans
Sam Hocevar
f32c24a10d
build: fix the WTFPL homepage and copyright information.
il y a 12 ans
Sam Hocevar
97c26b9bbb
string: avoid an infinite loop with some invalid UTF-8 sequences, and add a
unit test for the problem. Bug found by Bastian Märkisch <bmaerkisch@web.de>.
il y a 12 ans
Sam Hocevar
ab882df7b1
string: fix a potential memory corruption with caca_printf() calls done
outside the canvas.
il y a 12 ans
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.
il y a 12 ans
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.
il y a 12 ans
Sam Hocevar
9e8c0b6a46
build: switch to subdir objects and fix copyright information in string.c.
il y a 12 ans
Sam Hocevar
f56be9bffa
win32: use sprintf_s and vsnprintf_s on Windows, so that our static library
works with the VS2010 runtime, too. Also reduce the stack size requirements
to avoid depending on __chkstk_ms().
il y a 12 ans
Sam Hocevar
a09f027727
Add the copyright unit test and update copyright information everywhere.
il y a 15 ans
Sam Hocevar
107ff4b815
Large source code cleanup, getting rid of spaces, tabs, and svn keywords.
il y a 15 ans
Sam Hocevar
81f9abd203
Document file functions and fix a few issues here and there.
il y a 15 ans
Sam Hocevar
823b59a7fa
Make caca_printf(), caca_vprintf() and caca_put_str() return the number of
printed cells instead of always returning 0. This is handy if we want to
advance a cursor after each printf() call.
il y a 15 ans
Sam Hocevar
1f5518f842
Rename caca_get_cursor_x() and caca_get_cursor_y() to caca_wherex() and
caca_wherey(), in order to match the old <conio.h> naming scheme.
il y a 15 ans
Sam Hocevar
4648ab11aa
Implement caca_vprintf() to allow third-party variadic functions to call us.
il y a 15 ans
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.
il y a 15 ans
Sam Hocevar
4f7081153e
Do not add a dirty rectangle at the cursor's position. It's up to the
display driver to clean up its shit. Fixed X11 driver accordingly.
il y a 15 ans
Pascal Terjan
4bd79baf96
* Add dirty rectangles when moving cursor
il y a 15 ans
Pascal Terjan
1f79729288
* When blitting, only add dirty rectangles on changed
lines, or on changed chars if we have a mask
il y a 15 ans
Sam Hocevar
99a266a83b
Fix caca_get_char() documentation, courtesy of Romain Bignon.
il y a 15 ans
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
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.
il y a 15 ans
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
il y a 16 ans
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.
il y a 16 ans
Sam Hocevar
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
il y a 16 ans
Sam Hocevar
ec68a634cf
* Get rid of the last long types in the API.
* Use size_t and ssize_t where appropriate.
il y a 16 ans
Sam Hocevar
6a3f5c21f0
* Changed most of the long ints in the API into C99 types. WARNING: this
completely breaks compatibility with previous versions of libcaca on
64-bit systems.
il y a 16 ans
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.
il y a 16 ans
Jean-Yves Lamoureux
4d9b88ff3e
* Fixed cucul_set_canvas_boundaries() bug that prevented good size to be applied on the resized canvas
il y a 16 ans
Sam Hocevar
81d6119762
* Implemented cucul_canvas_set_figfont() from TOIlet’s open_font().
il y a 17 ans
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
il y a 17 ans
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
il y a 18 ans
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
il y a 18 ans
Sam Hocevar
f1f00897c5
* Fix shadowing declarations.
il y a 18 ans
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.
il y a 18 ans
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.
il y a 18 ans
Sam Hocevar
3243101ff0
* Rename cucul_put*() into cucul_put_*(). Updated all code to reflect that.
il y a 18 ans
Sam Hocevar
8c5342b263
* Made cucul_blit() handle-aware. Added a blit test for that.
il y a 18 ans
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
il y a 18 ans
Sam Hocevar
21bfa6210d
* Cosmetic code and documentation changes here and there.
* Updated TODO.
il y a 18 ans
Sam Hocevar
9fb85b253c
* Prepare the way for per-frame width/height information.
il y a 18 ans
Sam Hocevar
44c286272c
* Minor documentation fixes.
il y a 18 ans
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().
il y a 18 ans
Sam Hocevar
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
il y a 18 ans
Sam Hocevar
806f748059
* Made cucul_blit(), and therefore cucul_set_canvas_boundaries(), support
fullwidth characters.
* Added a case to test/fullwidth.c for cucul_blit and fullwidth chars.
il y a 18 ans