aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2007-10-26 18:09:36 +0000
committerDan Nicolaescu2007-10-26 18:09:36 +0000
commite3d7bd8321719f25e22ba7857bfd8cbbd1982eb4 (patch)
tree1c5165b933e5df0f48b3c6d0645867fd50eff036
parent7ce8671d69767c4e31f76c2e0f1aad5702f8d374 (diff)
downloademacs-e3d7bd8321719f25e22ba7857bfd8cbbd1982eb4.tar.gz
emacs-e3d7bd8321719f25e22ba7857bfd8cbbd1982eb4.zip
(struct frame): Move all bit fields after the first bit
field to take advantage of the available space. Group all the chars together to reduce wasted space due to padding.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/frame.h92
2 files changed, 52 insertions, 46 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d379c882245..012573bc760 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * frame.h (struct frame): Move all bit fields after the first bit
4 field to take advantage of the available space. Group all the
5 chars together to reduce wasted space due to padding.
6
12007-10-26 Juanma Barranquero <lekktu@gmail.com> 72007-10-26 Juanma Barranquero <lekktu@gmail.com>
2 8
3 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings. 9 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
diff --git a/src/frame.h b/src/frame.h
index 539b0b7edd0..a9bddbe34b8 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -202,6 +202,30 @@ struct frame
202 be used for output. */ 202 be used for output. */
203 unsigned glyphs_initialized_p : 1; 203 unsigned glyphs_initialized_p : 1;
204 204
205 /* Set to non-zero in change_frame_size when size of frame changed
206 Clear the frame in clear_garbaged_frames if set. */
207 unsigned resized_p : 1;
208
209 /* Set to non-zero in when we want for force a flush_display in
210 update_frame, usually after resizing the frame. */
211 unsigned force_flush_display_p : 1;
212
213 /* Set to non-zero if the default face for the frame has been
214 realized. Reset to zero whenever the default face changes.
215 Used to see the difference between a font change and face change. */
216 unsigned default_face_done_p : 1;
217
218 /* Set to non-zero if this frame has already been hscrolled during
219 current redisplay. */
220 unsigned already_hscrolled_p : 1;
221
222 /* Set to non-zero when current redisplay has updated frame. */
223 unsigned updated_p : 1;
224
225 /* Set to non-zero to minimize tool-bar height even when
226 auto-resize-tool-bar is set to grow-only. */
227 unsigned minimize_tool_bar_window_p : 1;
228
205#if defined (USE_GTK) || defined (MAC_OS) 229#if defined (USE_GTK) || defined (MAC_OS)
206 /* Nonzero means using a tool bar that comes from the toolkit. */ 230 /* Nonzero means using a tool bar that comes from the toolkit. */
207 int external_tool_bar; 231 int external_tool_bar;
@@ -368,24 +392,6 @@ struct frame
368 support scroll bars. */ 392 support scroll bars. */
369 char can_have_scroll_bars; 393 char can_have_scroll_bars;
370 394
371 /* If can_have_scroll_bars is non-zero, this is non-zero if we should
372 actually display them on this frame. */
373 enum vertical_scroll_bar_type vertical_scroll_bar_type;
374
375 /* What kind of text cursor should we draw in the future?
376 This should always be filled_box_cursor or bar_cursor. */
377 enum text_cursor_kinds desired_cursor;
378
379 /* Width of bar cursor (if we are using that). */
380 int cursor_width;
381
382 /* What kind of text cursor should we draw when the cursor blinks off?
383 This can be filled_box_cursor or bar_cursor or no_cursor. */
384 enum text_cursor_kinds blink_off_cursor;
385
386 /* Width of bar cursor (if we are using that) for blink-off state. */
387 int blink_off_cursor_width;
388
389 /* Non-0 means raise this frame to the top of the heap when selected. */ 395 /* Non-0 means raise this frame to the top of the heap when selected. */
390 char auto_raise; 396 char auto_raise;
391 397
@@ -404,6 +410,28 @@ struct frame
404 /* Nonzero if size of some window on this frame has changed. */ 410 /* Nonzero if size of some window on this frame has changed. */
405 char window_sizes_changed; 411 char window_sizes_changed;
406 412
413 /* Nonzero if the mouse has moved on this display device
414 since the last time we checked. */
415 char mouse_moved;
416
417 /* If can_have_scroll_bars is non-zero, this is non-zero if we should
418 actually display them on this frame. */
419 enum vertical_scroll_bar_type vertical_scroll_bar_type;
420
421 /* What kind of text cursor should we draw in the future?
422 This should always be filled_box_cursor or bar_cursor. */
423 enum text_cursor_kinds desired_cursor;
424
425 /* Width of bar cursor (if we are using that). */
426 int cursor_width;
427
428 /* What kind of text cursor should we draw when the cursor blinks off?
429 This can be filled_box_cursor or bar_cursor or no_cursor. */
430 enum text_cursor_kinds blink_off_cursor;
431
432 /* Width of bar cursor (if we are using that) for blink-off state. */
433 int blink_off_cursor_width;
434
407 /* Storage for messages to this frame. */ 435 /* Storage for messages to this frame. */
408 char *message_buf; 436 char *message_buf;
409 437
@@ -426,10 +454,6 @@ struct frame
426 /* The baud rate that was used to calculate costs for this frame. */ 454 /* The baud rate that was used to calculate costs for this frame. */
427 int cost_calculation_baud_rate; 455 int cost_calculation_baud_rate;
428 456
429 /* Nonzero if the mouse has moved on this display device
430 since the last time we checked. */
431 char mouse_moved;
432
433 /* Exponent for gamma correction of colors. 1/(VIEWING_GAMMA * 457 /* Exponent for gamma correction of colors. 1/(VIEWING_GAMMA *
434 SCREEN_GAMMA) where viewing_gamma is 0.4545 and SCREEN_GAMMA is a 458 SCREEN_GAMMA) where viewing_gamma is 0.4545 and SCREEN_GAMMA is a
435 frame parameter. 0 means don't do gamma correction. */ 459 frame parameter. 0 means don't do gamma correction. */
@@ -438,33 +462,9 @@ struct frame
438 /* Additional space to put between text lines on this frame. */ 462 /* Additional space to put between text lines on this frame. */
439 int extra_line_spacing; 463 int extra_line_spacing;
440 464
441 /* Set to non-zero in change_frame_size when size of frame changed
442 Clear the frame in clear_garbaged_frames if set. */
443 unsigned resized_p : 1;
444
445 /* Set to non-zero in when we want for force a flush_display in
446 update_frame, usually after resizing the frame. */
447 unsigned force_flush_display_p : 1;
448
449 /* All display backends seem to need these two pixel values. */ 465 /* All display backends seem to need these two pixel values. */
450 unsigned long background_pixel; 466 unsigned long background_pixel;
451 unsigned long foreground_pixel; 467 unsigned long foreground_pixel;
452
453 /* Set to non-zero if the default face for the frame has been
454 realized. Reset to zero whenever the default face changes.
455 Used to see the difference between a font change and face change. */
456 unsigned default_face_done_p : 1;
457
458 /* Set to non-zero if this frame has already been hscrolled during
459 current redisplay. */
460 unsigned already_hscrolled_p : 1;
461
462 /* Set to non-zero when current redisplay has updated frame. */
463 unsigned updated_p : 1;
464
465 /* Set to non-zero to minimize tool-bar height even when
466 auto-resize-tool-bar is set to grow-only. */
467 unsigned minimize_tool_bar_window_p : 1;
468}; 468};
469 469
470#ifdef MULTI_KBOARD 470#ifdef MULTI_KBOARD