mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Change the way the grid is stored, previously it was:
- a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and containts the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
This commit is contained in:
		
							
								
								
									
										15
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								tmux.h
									
									
									
									
									
								
							@@ -500,6 +500,15 @@ struct grid_utf8 {
 | 
			
		||||
	u_char	data[UTF8_SIZE];
 | 
			
		||||
} __packed;
 | 
			
		||||
 | 
			
		||||
/* Grid line. */
 | 
			
		||||
struct grid_line {
 | 
			
		||||
	u_int	cellsize;
 | 
			
		||||
	struct grid_cell *celldata;
 | 
			
		||||
 | 
			
		||||
	u_int	utf8size;
 | 
			
		||||
	struct grid_utf8 *utf8data;
 | 
			
		||||
} __packed;
 | 
			
		||||
 | 
			
		||||
/* Entire grid of cells. */
 | 
			
		||||
struct grid {
 | 
			
		||||
	int	flags;
 | 
			
		||||
@@ -511,11 +520,7 @@ struct grid {
 | 
			
		||||
	u_int	hsize;
 | 
			
		||||
	u_int	hlimit;
 | 
			
		||||
 | 
			
		||||
	u_int  *size;
 | 
			
		||||
	struct grid_cell **data;
 | 
			
		||||
 | 
			
		||||
	u_int  *usize;
 | 
			
		||||
 	struct grid_utf8 **udata;
 | 
			
		||||
	struct grid_line *linedata;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Option data structures. */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user