* No more mucking about with transfer modes. We always set up the foreground
and background sensibly, EraseRect the whole lot and use srcOr. Apple
Tech Note QD505 suggests that this should be faster than srcCopy.
* Always use the Palette Manager if we've got Color QuickDraw, even in 1bpp
modes.
* Apply the cursor colours _after_ all the other stuff, rather than trying to
get them through everything else intact.
Unfortunately, this doesn't make much difference to the speed.
[originally from svn r2259]
background colour and pen mode have some silly effects on ScrollRect, so
set them back to their defaults before calling it.
[originally from svn r2254]
we need to update dispcurs as well as disptext.
Add scroll optimisation to scroll(). This makes it rather obvious that scroll
optimisation is breaking with PuTTY's usual policy of lazy updates, since
scrolling is done eagerly. Fixing this so that all the scrolling is saved
up for do_paint would be nice, but non-trivial.
[originally from svn r2252]
application), rather from the entire chain. This prevents us displaying the
System version if PuTTY doesn't have one. Also cope with not finding any
'vers' resource.
[originally from svn r2247]
(rather than straight to the backend), and then prod the terminal. I think
this is closer to the correct set of things to do.
[originally from svn r2245]
This introduces a new front-end function, do_scroll(), which is expected to
scroll a part of the physical display and cause repaint events for any
areas that couldn't be scrolled (e.g. because they were hidden).
scroll_display() is a wrapper around this which also updates disptext to
match.
Currently, scroll_display is only used in response to user scrollback requests
(via term_scroll()), but extending scroll() to use it as well should be
easy.
All of this is conditional on the front end's defining OPTIMISE_SCROLL, since
only the Mac front end currently implements do_scroll().
[originally from svn r2242]
This doesn't include any mkfiles.pl glue, and is missing one or two other
fixes. The terminal emulator is kind of working, though, as, I believe, is
the store module. Everything else is yet to be done.
[originally from svn r2226]
code point 3/13 as HORIZONTAL BAR, which agrees with unicode.org's mapping
table. Change ours to match (it used to have EM DASH, courtesy of RDB).
This brings all our 8859-to-Unicode tables into line with unicode.org.
[originally from svn r2224]
`otherbuf' should still be freed even if the RegEnumKey function
that was supposed to fill it with data failed. While I'm at it, also
remove the redundant check for its non-NULL-ness (what's the point
of having a malloc wrapper that dies rather than return NULL if you
then waste effort checking its return value for NULL _anyway_, eh?).
[originally from svn r2217]
login prompt should be fflushed (presumably fgets fails to implicitly
do this when stdin and stdout are redirected weirdly).
[originally from svn r2186]
Not that I desperately want to shout about it just yet, but I feel a
bit bad about the FAQ saying `we don't have a Unix port, anyone who
told you so was wrong'. :-)
[originally from svn r2185]
not -1 (it turns out _most_ X fonts prefer the former, though
irritatingly my favourite real X font used to prefer the latter
which was why I made the X version of my Font Of Choice do so too),
and also clip to the boundaries of the rectangle we should be
drawing text in. This still doesn't completely prevent display
corruption in the case where text drawn in one sweep is partially
overwritten in a future one, but gnome-terminal has this problem
too, and now we've got the right default SB offset _and_ offer the
opportunity to reconfigure it I think this is pretty good for now.
[originally from svn r2184]