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;
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;
void *logctx;
+ struct unicode_data *ucsdata;
+
/*
* We maintain a full _copy_ of a Config structure here, not
* merely a pointer to it. That way, when we're passed a new
Config cfg;
};
-#define in_utf(term) ((term)->utf || line_codepage==CP_UTF8)
+#define in_utf(term) ((term)->utf || (term)->ucsdata->line_codepage==CP_UTF8)
#endif