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;