Mercurial > hg > xemacs-beta
diff src/redisplay-output.c @ 5045:c3cc3fa503a2
more frame-sizing cleanups
-------------------- ChangeLog entries follow: --------------------
man/ChangeLog addition:
2010-02-16 Ben Wing <ben@xemacs.org>
* internals/internals.texi (Top):
* internals/internals.texi (Modules for the Basic Displayable Lisp Objects):
* internals/internals.texi (Creating a Window-System Type):
* internals/internals.texi (Window and Frame Geometry):
* internals/internals.texi (Intro to Window and Frame Geometry):
* internals/internals.texi (The Frame):
* internals/internals.texi (The Non-Client Area):
* internals/internals.texi (The Client Area):
* internals/internals.texi (The Paned Area):
* internals/internals.texi (Text Areas):
* internals/internals.texi (The Displayable Area):
* internals/internals.texi (Which Functions Use Which?):
* internals/internals.texi (The Redisplay Mechanism):
Integrate the long comment in frame.c into the internals manual.
src/ChangeLog addition:
2010-02-16 Ben Wing <ben@xemacs.org>
* frame-impl.h:
* frame-impl.h (FRAME_INTERNAL_BORDER_WIDTH):
* frame-impl.h (FRAME_REAL_TOOLBAR_BOUNDS):
* frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BOUNDS):
* frame-impl.h (FRAME_BOTTOM_BORDER_START):
* frame-impl.h (FRAME_LEFT_BORDER_START):
* frame-impl.h (FRAME_RIGHT_BORDER_START):
* frame.c (frame_conversion_internal_1):
* frame.c (change_frame_size_1):
* redisplay-output.c (clear_left_border):
* redisplay-output.c (clear_right_border):
* redisplay-output.c (redisplay_clear_top_of_window):
* redisplay-output.c (redisplay_clear_to_window_end):
* redisplay-output.c (redisplay_clear_bottom_of_window):
Rename FRAME_BORDER_* to FRAME_INTERNAL_BORDER_*. Add
general FRAME_INTERNAL_BORDER_SIZE(). Add FRAME_REAL_TOOLBAR_BOUNDS()
to encompass the entire size of the toolbar including its border.
Add specific top/left/bottom/right versions of this macro.
Rewrite FRAME_*_BORDER_START and FRAME_*_BORDER_END to take into use
FRAME_REAL_*_TOOLBAR_BOUNDS(). Add some comments about existing
problems in frame sizing and how they might be fixed. Simplify
change_frame_size_1() using the macros just created.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Tue, 16 Feb 2010 01:21:32 -0600 |
parents | 0d4c9d0f6a8d |
children | 07dcc7000bbf |
line wrap: on
line diff
--- a/src/redisplay-output.c Mon Feb 15 22:58:10 2010 -0600 +++ b/src/redisplay-output.c Tue Feb 16 01:21:32 2010 -0600 @@ -638,7 +638,7 @@ redisplay_clear_region (window, DEFAULT_INDEX, FRAME_LEFT_BORDER_START (f), y, - FRAME_BORDER_WIDTH (f), height); + FRAME_INTERNAL_BORDER_WIDTH (f), height); } /***************************************************************************** @@ -654,7 +654,7 @@ redisplay_clear_region (window, DEFAULT_INDEX, FRAME_RIGHT_BORDER_START (f), - y, FRAME_BORDER_WIDTH (f), height); + y, FRAME_INTERNAL_BORDER_WIDTH (f), height); } /***************************************************************************** @@ -2102,14 +2102,14 @@ if (window_is_leftmost (w)) { - x -= FRAME_BORDER_WIDTH (f); - width += FRAME_BORDER_WIDTH (f); + x -= FRAME_INTERNAL_BORDER_WIDTH (f); + width += FRAME_INTERNAL_BORDER_WIDTH (f); } if (window_is_rightmost (w)) - width += FRAME_BORDER_WIDTH (f); + width += FRAME_INTERNAL_BORDER_WIDTH (f); y = FRAME_TOP_BORDER_START (f) - 1; - height = FRAME_BORDER_HEIGHT (f) + 1; + height = FRAME_INTERNAL_BORDER_HEIGHT (f) + 1; redisplay_clear_region (window, DEFAULT_INDEX, x, y, width, height); } @@ -2145,7 +2145,7 @@ if (window_is_leftmost (w)) redisplay_clear_region (window, DEFAULT_INDEX, FRAME_LEFT_BORDER_START (f), - ypos1, FRAME_BORDER_WIDTH (f), height); + ypos1, FRAME_INTERNAL_BORDER_WIDTH (f), height); if (bounds.left_in - bounds.left_out > 0) redisplay_clear_region (window, @@ -2167,7 +2167,7 @@ if (window_is_rightmost (w)) redisplay_clear_region (window, DEFAULT_INDEX, FRAME_RIGHT_BORDER_START (f), - ypos1, FRAME_BORDER_WIDTH (f), height); + ypos1, FRAME_INTERNAL_BORDER_WIDTH (f), height); } } } @@ -2217,7 +2217,7 @@ /* #### See if this can be made conditional on the frame changing size. */ if (MINI_WINDOW_P (w)) - ypos2 += FRAME_BORDER_HEIGHT (f); + ypos2 += FRAME_INTERNAL_BORDER_HEIGHT (f); if (min_start >= 0 && ypos1 < min_start) ypos1 = min_start;