1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 19:12:48 -05:00

Richard's lazy-scrolling patch. This builds up scroll operations in a list,

combining adjacent ones for the same region, and runs them all in do_paint.
I'm not sure it's entirely right, but it works on my Mac in every case I've
tested.

[originally from svn r2763]
This commit is contained in:
Ben Harris
2003-02-01 12:26:33 +00:00
parent d3d8714f06
commit fe5f4c14f4
4 changed files with 65 additions and 5 deletions

View File

@ -20,6 +20,15 @@ typedef struct {
int y, x;
} pos;
#ifdef OPTIMISE_SCROLL
struct scrollregion {
struct scrollregion *next;
int topline; /* Top line of scroll region. */
int botline; /* Bottom line of scroll region. */
int lines; /* Number of lines to scroll by - +ve is forwards. */
};
#endif /* OPTIMISE_SCROLL */
struct terminal_tag {
int compatibility_level;
@ -47,6 +56,10 @@ struct terminal_tag {
term->cpos = lineptr(term->curs.y) + term->curs.x; \
} while(0)
#ifdef OPTIMISE_SCROLL
struct scrollregion *scrollhead, *scrolltail;
#endif /* OPTIMISE_SCROLL */
unsigned long curr_attr, save_attr;
unsigned long erase_char;