diff options
| author | Richard M. Stallman | 1994-12-21 22:27:25 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-12-21 22:27:25 +0000 |
| commit | 21015f9c301cf5f21ac7ad397566364ef5081ea0 (patch) | |
| tree | 689e229a7c111ae21a82accbae19de6ed5145c44 /src | |
| parent | 329ca57419d446fed5d2f6b327cecf2777bca1b2 (diff) | |
| download | emacs-21015f9c301cf5f21ac7ad397566364ef5081ea0.tar.gz emacs-21015f9c301cf5f21ac7ad397566364ef5081ea0.zip | |
(struct frame): New field buffer_predicate.
Move all the Lisp_Object fields to the top.
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.h | 102 |
1 files changed, 56 insertions, 46 deletions
diff --git a/src/frame.h b/src/frame.h index f21d4dcf64e..0196b7a6f4b 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -44,45 +44,9 @@ struct frame | |||
| 44 | EMACS_INT size; | 44 | EMACS_INT size; |
| 45 | struct Lisp_Vector *next; | 45 | struct Lisp_Vector *next; |
| 46 | 46 | ||
| 47 | /* glyphs as they appear on the frame */ | 47 | /* All Lisp_Object components must come first. |
| 48 | struct frame_glyphs *current_glyphs; | 48 | Only EMACS_INT values can be intermixed with them. |
| 49 | 49 | That ensures they are all aligned normally. */ | |
| 50 | /* glyphs we'd like to appear on the frame */ | ||
| 51 | struct frame_glyphs *desired_glyphs; | ||
| 52 | |||
| 53 | /* See do_line_insertion_deletion_costs for info on these arrays. */ | ||
| 54 | /* Cost of inserting 1 line on this frame */ | ||
| 55 | int *insert_line_cost; | ||
| 56 | /* Cost of deleting 1 line on this frame */ | ||
| 57 | int *delete_line_cost; | ||
| 58 | /* Cost of inserting n lines on this frame */ | ||
| 59 | int *insert_n_lines_cost; | ||
| 60 | /* Cost of deleting n lines on this frame */ | ||
| 61 | int *delete_n_lines_cost; | ||
| 62 | |||
| 63 | /* glyphs for the mode line */ | ||
| 64 | struct frame_glyphs *temp_glyphs; | ||
| 65 | |||
| 66 | /* Intended cursor position of this frame. | ||
| 67 | Measured in characters, counting from upper left corner | ||
| 68 | within the frame. */ | ||
| 69 | int cursor_x; | ||
| 70 | int cursor_y; | ||
| 71 | |||
| 72 | /* Actual cursor position of this frame, and the character under it. | ||
| 73 | (Not used for terminal frames.) */ | ||
| 74 | int phys_cursor_x; | ||
| 75 | int phys_cursor_y; | ||
| 76 | /* This is handy for undrawing the cursor, because current_glyphs is | ||
| 77 | not always accurate when in do_scrolling. */ | ||
| 78 | GLYPH phys_cursor_glyph; | ||
| 79 | |||
| 80 | /* Size of this frame, in units of characters. */ | ||
| 81 | EMACS_INT height; | ||
| 82 | EMACS_INT width; | ||
| 83 | |||
| 84 | /* New height and width for pending size change. 0 if no change pending. */ | ||
| 85 | int new_height, new_width; | ||
| 86 | 50 | ||
| 87 | /* Name of this frame: a Lisp string. See also `explicit_name'. */ | 51 | /* Name of this frame: a Lisp string. See also `explicit_name'. */ |
| 88 | Lisp_Object name; | 52 | Lisp_Object name; |
| @@ -140,6 +104,59 @@ struct frame | |||
| 140 | /* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */ | 104 | /* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */ |
| 141 | Lisp_Object face_alist; | 105 | Lisp_Object face_alist; |
| 142 | 106 | ||
| 107 | /* A vector that records the entire structure of this frame's menu bar. | ||
| 108 | For the format of the data, see extensive comments in xmenu.c. | ||
| 109 | Only the X toolkit version uses this. */ | ||
| 110 | Lisp_Object menu_bar_vector; | ||
| 111 | /* Number of elements in the vector that have meaningful data. */ | ||
| 112 | EMACS_INT menu_bar_items_used; | ||
| 113 | |||
| 114 | /* Predicate for selecting buffers for other-buffer. */ | ||
| 115 | Lisp_Object buffer_predicate; | ||
| 116 | |||
| 117 | /* Beyond here, there should be no more Lisp_Object components. */ | ||
| 118 | |||
| 119 | |||
| 120 | /* glyphs as they appear on the frame */ | ||
| 121 | struct frame_glyphs *current_glyphs; | ||
| 122 | |||
| 123 | /* glyphs we'd like to appear on the frame */ | ||
| 124 | struct frame_glyphs *desired_glyphs; | ||
| 125 | |||
| 126 | /* See do_line_insertion_deletion_costs for info on these arrays. */ | ||
| 127 | /* Cost of inserting 1 line on this frame */ | ||
| 128 | int *insert_line_cost; | ||
| 129 | /* Cost of deleting 1 line on this frame */ | ||
| 130 | int *delete_line_cost; | ||
| 131 | /* Cost of inserting n lines on this frame */ | ||
| 132 | int *insert_n_lines_cost; | ||
| 133 | /* Cost of deleting n lines on this frame */ | ||
| 134 | int *delete_n_lines_cost; | ||
| 135 | |||
| 136 | /* glyphs for the mode line */ | ||
| 137 | struct frame_glyphs *temp_glyphs; | ||
| 138 | |||
| 139 | /* Intended cursor position of this frame. | ||
| 140 | Measured in characters, counting from upper left corner | ||
| 141 | within the frame. */ | ||
| 142 | int cursor_x; | ||
| 143 | int cursor_y; | ||
| 144 | |||
| 145 | /* Actual cursor position of this frame, and the character under it. | ||
| 146 | (Not used for terminal frames.) */ | ||
| 147 | int phys_cursor_x; | ||
| 148 | int phys_cursor_y; | ||
| 149 | /* This is handy for undrawing the cursor, because current_glyphs is | ||
| 150 | not always accurate when in do_scrolling. */ | ||
| 151 | GLYPH phys_cursor_glyph; | ||
| 152 | |||
| 153 | /* Size of this frame, in units of characters. */ | ||
| 154 | EMACS_INT height; | ||
| 155 | EMACS_INT width; | ||
| 156 | |||
| 157 | /* New height and width for pending size change. 0 if no change pending. */ | ||
| 158 | int new_height, new_width; | ||
| 159 | |||
| 143 | /* The output method says how the contents of this frame | 160 | /* The output method says how the contents of this frame |
| 144 | are displayed. It could be using termcap, or using an X window. */ | 161 | are displayed. It could be using termcap, or using an X window. */ |
| 145 | enum output_method output_method; | 162 | enum output_method output_method; |
| @@ -234,13 +251,6 @@ struct frame | |||
| 234 | for lines beyond a certain vpos. This is the vpos. */ | 251 | for lines beyond a certain vpos. This is the vpos. */ |
| 235 | int scroll_bottom_vpos; | 252 | int scroll_bottom_vpos; |
| 236 | 253 | ||
| 237 | /* A vector that records the entire structure of this frame's menu bar. | ||
| 238 | For the format of the data, see extensive comments in xmenu.c. | ||
| 239 | Only the X toolkit version uses this. */ | ||
| 240 | Lisp_Object menu_bar_vector; | ||
| 241 | /* Number of elements in the vector that have meaningful data. */ | ||
| 242 | int menu_bar_items_used; | ||
| 243 | |||
| 244 | /* Width of the scroll bar, in pixels and in characters. | 254 | /* Width of the scroll bar, in pixels and in characters. |
| 245 | scroll_bar_cols tracks scroll_bar_pixel_width if the latter is positive; | 255 | scroll_bar_cols tracks scroll_bar_pixel_width if the latter is positive; |
| 246 | a zero value in scroll_bar_pixel_width means to compute the actual width | 256 | a zero value in scroll_bar_pixel_width means to compute the actual width |