Sam Hocevar
f32c24a10d
build: fix the WTFPL homepage and copyright information.
12 лет назад
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>.
12 лет назад
Sam Hocevar
ab882df7b1
string: fix a potential memory corruption with caca_printf() calls done
outside the canvas.
12 лет назад
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
9e8c0b6a46
build: switch to subdir objects and fix copyright information in string.c.
12 лет назад
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().
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
81f9abd203
Document file functions and fix a few issues here and there.
15 лет назад
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.
15 лет назад
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.
15 лет назад
Sam Hocevar
4648ab11aa
Implement caca_vprintf() to allow third-party variadic functions to call us.
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
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.
15 лет назад
Pascal Terjan
4bd79baf96
* Add dirty rectangles when moving cursor
15 лет назад
Pascal Terjan
1f79729288
* When blitting, only add dirty rectangles on changed
lines, or on changed chars if we have a mask
15 лет назад
Sam Hocevar
99a266a83b
Fix caca_get_char() documentation, courtesy of Romain Bignon.
15 лет назад
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
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
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
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
ec68a634cf
* Get rid of the last long types in the API.
* Use size_t and ssize_t where appropriate.
16 лет назад
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.
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 лет назад
Jean-Yves Lamoureux
4d9b88ff3e
* Fixed cucul_set_canvas_boundaries() bug that prevented good size to be applied on the resized canvas
16 лет назад
Sam Hocevar
81d6119762
* Implemented cucul_canvas_set_figfont() from TOIlet’s open_font().
17 лет назад
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
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
f1f00897c5
* Fix shadowing declarations.
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
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
3243101ff0
* Rename cucul_put*() into cucul_put_*(). Updated all code to reflect that.
18 лет назад
Sam Hocevar
8c5342b263
* Made cucul_blit() handle-aware. Added a blit test for that.
18 лет назад
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
18 лет назад
Sam Hocevar
21bfa6210d
* Cosmetic code and documentation changes here and there.
* Updated TODO.
18 лет назад
Sam Hocevar
9fb85b253c
* Prepare the way for per-frame width/height information.
18 лет назад
Sam Hocevar
44c286272c
* Minor documentation fixes.
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
26c3ea1aa4
* Removed "This function..." constructs from documentation. Fixed a few
documentation errors or imprecisions.
18 лет назад
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.
18 лет назад
Sam Hocevar
df13e2a2e1
* Updated documentation of fullwidth-aware functions.
* Fullwidth support in all exporters.
18 лет назад
Sam Hocevar
4711611e3f
* Support for fullwidth glyphs in the libcaca output drivers.
18 лет назад
Sam Hocevar
b45eea0b39
* Support for fullwidth (= double width) Unicode characters.
18 лет назад
Sam Hocevar
5810f430d7
* Fix minor memory leak in cucul_set_canvas_boundaries().
18 лет назад