Track window scrolling for damage.

This commit is contained in:
nicm
2026-10-14 12:48:50 +00:00
committed by Nicholas Marriott
parent d1a68c1347
commit e69cdbefef
3 changed files with 53 additions and 3 deletions

10
tmux.h
View File

@@ -1,4 +1,4 @@
/* $OpenBSD: tmux.h,v 1.1462 2026/10/14 12:33:46 nicm Exp $ */
/* $OpenBSD: tmux.h,v 1.1463 2026/10/14 12:48:50 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1479,6 +1479,8 @@ struct window {
struct redraw_damages damage;
u_int damage_count;
uint64_t scroll_generation;
int scroll_pending;
struct menu_data *menu;
u_int menu_last_px;
@@ -1854,6 +1856,10 @@ struct tty {
struct event key_timer;
struct tty_key *key_tree;
struct window *scroll_window;
uint64_t scroll_generation;
int scroll_failed;
#ifdef ENABLE_IMAGES
struct image_backend *image_backend;
void *image_data;
@@ -3645,6 +3651,8 @@ int redraw_client_has_window(struct client *, struct window *);
void redraw_invalidate_scene(struct window *);
void redraw_invalidate_all_scenes(void);
void redraw_damage_window(struct window *, u_int, u_int, u_int, u_int);
void redraw_damage_scroll(struct window *, u_int, u_int, u_int, u_int);
void redraw_scroll_result(struct tty *, const struct tty_ctx *, int);
void redraw_free_damage(struct window *);
void redraw_client_damage(struct client *);
int redraw_get_status_border_cell_type(struct redraw_span **, u_int);