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:
13
terminal.h
13
terminal.h
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user