Sam Hocevar
9ee841240f
Implement conio.h's getche() and move cursor to top right corner after
a call to clrscr().
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
962f47b906
Implement conio.h's kbhit().
15 年前
Sam Hocevar
ea8d3086d6
Add sound(), nosound() and delay() to the conio.h emulation. Even though
they're not actually from that header, they're often used together.
15 年前
Pascal Terjan
52a0decd07
* Fix a segfault in rotate_180 on 0 sized canvas
15 年前
Sam Hocevar
104c5a0c5b
Start implementing a full <conio.h> replacement with a libcaca backend.
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
60b44cc5be
Show how we could optimise dirty rectangle handling in a box fill. Disabled
for now because it does not work with fullwidth characters.
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
644ee4a78a
Coding style: remove tabs and trailing spaces.
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 年前
Sam Hocevar
69d8bbeb08
More complex dirty rectangle merging strategy. It's a lot slower in some
cases, but that can be fixed.
15 年前
Sam Hocevar
ed360faabe
Add a comment to the ncurses driver to remember fix the GCC warning.
15 年前
Sam Hocevar
33d2bc2092
Update the Win32 and Win64 ports.
15 年前
Pascal Terjan
bd1c1cdda6
* Inform code reader that current algorithm is wrong
15 年前
Sam Hocevar
b0a88ddd01
Do not smooth the render time; the calling application can do it.
15 年前
Sam Hocevar
6b22ab776c
Add a null driver that does absolutely nothing.
15 年前
Sam Hocevar
1d60711ac4
Mark the whole canvas as dirty when a dirty rectangle aware driver is
attached to it.
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 年前
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 年前
Pascal Terjan
3e1a1d2679
* Add rotated epsilon
15 年前
Pascal Terjan
de5be87d0e
Don't redraw background for more than the dirty rectangle in x11 driver, we will not redraw foreground there
15 年前
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
15 年前
Pascal Terjan
ac9b1074b4
Fix limits settings in area export
15 年前
Sam Hocevar
d3ef2bbecd
Add caca_export_area_to_memory() to export only a selected part of the
current canvas. This is useful to export dirty rectangles. Accordingly,
add caca_import_area_from_memory() and caca_import_area_from_file().
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
11428406c1
Split import.c and export.c to create a new text.c codec file in order
to keep source files under 1,000 lines of code.
15 年前
Pascal Terjan
d1db2df568
Revert r3478
15 年前
Sam Hocevar
95811ced2d
Manually fix Visual Studio files so that builds do not spew
their crap all over the place. There is still caca-sharp/obj
that it insists on creating (reported as Connect ID 301965).
15 年前
Sam Hocevar
0c7fd89e3a
Add dirty rectangle support to the ncurses and VGA drivers.
15 年前
Sam Hocevar
42a5c2bf69
Increased the autorepeat delay in the ncurses and SLang drivers. Now that
we have dirty rectangles, fast autorepeat becomes perfectly usable.
15 年前
Sam Hocevar
3338776b44
Fix a few DOS compilation warnings.
15 年前
Sam Hocevar
222e165d21
Fix dirty rectangle handling in the X11 and SLang drivers.
15 年前
Pascal Terjan
33f2264bcd
Import/export dirty rectangles
15 年前
Sam Hocevar
1fe8a8702a
A lot of documentation updates here and there, including bugfixes dating
back to the libcucul merge.
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 年前
Pascal Terjan
ee3018643d
Only redraw empty rectangles in slang driver
15 年前
Pascal Terjan
27fffbb33c
Fix empty dirty rectangles detection
15 年前
Pascal Terjan
44f5d172f0
* Only redraw dirty rectangle in x11 driver
15 年前
Sam Hocevar
1fe07f325e
Fixed libcaca and the Visual Studio solution so that it works
on Win64, including the .NET projects.
15 年前
Sam Hocevar
fc193a4b99
Fix a few implicit cast related warnings on VC++.
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
a69ddfcd10
Factor code from caca_draw_cp437_box() and caca_draw_thinbox_box().
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 年前