Sam Hocevar
6b22ab776c
Add a null driver that does absolutely nothing.
15 years ago
Sam Hocevar
1d60711ac4
Mark the whole canvas as dirty when a dirty rectangle aware driver is
attached to it.
15 years ago
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 years ago
Pascal Terjan
4bd79baf96
* Add dirty rectangles when moving cursor
15 years ago
Pascal Terjan
1f79729288
* When blitting, only add dirty rectangles on changed
lines, or on changed chars if we have a mask
15 years ago
Sam Hocevar
99a266a83b
Fix caca_get_char() documentation, courtesy of Romain Bignon.
15 years ago
Pascal Terjan
3e1a1d2679
* Add rotated epsilon
15 years ago
Pascal Terjan
de5be87d0e
Don't redraw background for more than the dirty rectangle in x11 driver, we will not redraw foreground there
15 years ago
Sam Hocevar
162613b630
caca_put_char(): only add a dirty rectangle if the paster character is
different from what was already there.
15 years ago
Pascal Terjan
ac9b1074b4
Fix limits settings in area export
15 years ago
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 years ago
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 years ago
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 years ago
Pascal Terjan
d1db2df568
Revert r3478
15 years ago
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 years ago
Sam Hocevar
0c7fd89e3a
Add dirty rectangle support to the ncurses and VGA drivers.
15 years ago
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 years ago
Sam Hocevar
3338776b44
Fix a few DOS compilation warnings.
15 years ago
Sam Hocevar
222e165d21
Fix dirty rectangle handling in the X11 and SLang drivers.
15 years ago
Pascal Terjan
33f2264bcd
Import/export dirty rectangles
15 years ago
Sam Hocevar
1fe8a8702a
A lot of documentation updates here and there, including bugfixes dating
back to the libcucul merge.
15 years ago
Sam Hocevar
dd48fb62b3
Optimise the dirty rectangle handling by keeping track of the number of
currently dirty rectangles.
15 years ago
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 years ago
Pascal Terjan
ee3018643d
Only redraw empty rectangles in slang driver
15 years ago
Pascal Terjan
27fffbb33c
Fix empty dirty rectangles detection
15 years ago
Pascal Terjan
44f5d172f0
* Only redraw dirty rectangle in x11 driver
15 years ago
Sam Hocevar
1fe07f325e
Fixed libcaca and the Visual Studio solution so that it works
on Win64, including the .NET projects.
15 years ago
Sam Hocevar
fc193a4b99
Fix a few implicit cast related warnings on VC++.
15 years ago
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 years ago
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 years ago
Sam Hocevar
a69ddfcd10
Factor code from caca_draw_cp437_box() and caca_draw_thinbox_box().
15 years ago
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 years ago
Sam Hocevar
b17bb5f7e6
Update msdev files to 9.0 (Visual Studio 2008). If anyone wants to
play with the Windows port, there is a 90-day evaluation version
available for free on the Microsoft website.
15 years ago
Sam Hocevar
af3c74e915
import.c: when importing ANSI or UTF-8 files, treat ^L as a canvas
frame separator. Not extremely robust yet.
15 years ago
Sam Hocevar
7b25d39e63
Apparently \033 is more common than \x1b for ESC. Use the former in our
code for clarity.
15 years ago
Sam Hocevar
fb7c744402
Added new Unicode blocks to the built-in font.
15 years ago
Sam Hocevar
7e70f6183a
transform.c: one more rotated glyph.
15 years ago
Sam Hocevar
6e5b4d29d6
transform.c: add new transformation glyphs for various capital letters.
15 years ago
Pascal Terjan
d17c0e5ce7
* Add a flip char for 1
16 years ago
Pascal Terjan
cd00d4bd33
* Add a rotate_180 char for G
16 years ago
Sam Hocevar
55d5e56691
Create a libcucul.la symlink for distributions such as Gentoo which may
rely on .la files for library dependencies.
16 years ago
Ben Wiley Sittler
07d9dcc348
preserve column alignment better by breaking cells at spaces; preserve
readability of fullwidth characters better by not placing cell
boundaries between them unneccessarily
16 years ago
Ben Wiley Sittler
e434549a4d
force a column alignment after each column containing a fullwidth character.
16 years ago
Ben Wiley Sittler
d32f8eb7f8
fix foreground-color and quoting bugs in the "html" exporter; also,
the output is now labelled as XHTML 1.0 Strict, since it does conform
to that DTD. also removed spurious cellpadding and cellspacing from
<div /> markup. also handle non-characters by conversion to
replacement character, and handle more control characters by
conversion to no-break space. finally, switch from to the
equivalent   so that a non-validating XML parser (which is most
of them) can correctly parse this document.
16 years ago
Ben Wiley Sittler
e8756c7c46
do not split a fullwidth character in the middle. yes, in some
degenerate cases this will lead to incorrectly-displayed tables. i
don't yet have a solution.
16 years ago
Ben Wiley Sittler
567ae29030
do not expand tabs here. instead, importers need to understand '\t'
and fill the canvas up to the tab stop with it. once that works,
support will be added here (treating it as space.) also, fewer columns
are now generated. apparently generating a minimal number of them
fixes a bunch of the table-layout bugs.
16 years ago
Ben Wiley Sittler
afcad730a8
some unicode characters could overflow the buffer; handle more control
characters and non-unicode codepoints when generating HTML.
16 years ago
Ben Wiley Sittler
f4b036ef09
optimization: when the canvas is only a single line, we can always
optimize by merging cells
16 years ago
Ben Wiley Sittler
86a512cf34
work around table layout bugs by ensuring that if there are multiple
cells on any row of the table then the very first row does not use the
cell-merging optimization; this appears to fix the last of the table
layout bugs seen in truecolor.php; also fix the foreground and
background color bugs seen in truecolor.php.
16 years ago
Ben Wiley Sittler
ef3b597946
add a <table summary="..." /> attribute so screenreader software does not
get hopelessly lost.
16 years ago