summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2003-06-05 00:36:28 +0000
committerKim F. Storm <storm@cua.dk>2003-06-05 00:36:28 +0000
commita530382071fde731cc36c549ee9086ca19a345fb (patch)
treeae61eaa713af4897b5254a9b290480fdc5bf60d9
parent9b87a0bc64cc1e2e54083e2d7ff411c3c7a7aaba (diff)
downloademacs-a530382071fde731cc36c549ee9086ca19a345fb.tar.gz
(coordinates_in_window): Convert X and Y to window
relative coordinates inside mode-line and header-line parts. Convert X and Y to margin area relative coordinates inside left and right display margin parts.
-rw-r--r--src/window.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c
index f5f67a627f6..b323bb5fcb8 100644
--- a/src/window.c
+++ b/src/window.c
@@ -654,6 +654,10 @@ coordinates_in_window (w, x, y)
return ON_VERTICAL_BORDER;
}
+ /* Convert X and Y to window relative coordinates.
+ Mode line starts at left edge of window. */
+ *x -= x0;
+ *y -= top_y;
return part;
}
@@ -703,7 +707,13 @@ coordinates_in_window (w, x, y)
&& (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
? (*x >= left_x + WINDOW_LEFT_FRINGE_WIDTH (w))
: (*x < left_x + lmargin_width)))
- return ON_LEFT_MARGIN;
+ {
+ *x -= x0;
+ if (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w))
+ *x -= WINDOW_LEFT_FRINGE_WIDTH (w);
+ *y -= top_y;
+ return ON_LEFT_MARGIN;
+ }
/* Convert X and Y to window-relative pixel coordinates. */
*x -= left_x;
@@ -717,7 +727,13 @@ coordinates_in_window (w, x, y)
&& (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
? (*x < right_x - WINDOW_RIGHT_FRINGE_WIDTH (w))
: (*x >= right_x - rmargin_width)))
- return ON_RIGHT_MARGIN;
+ {
+ *x -= right_x;
+ if (!WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w))
+ *x -= WINDOW_RIGHT_FRINGE_WIDTH (w);
+ *y -= top_y;
+ return ON_RIGHT_MARGIN;
+ }
/* Convert X and Y to window-relative pixel coordinates. */
*x -= left_x + WINDOW_LEFT_FRINGE_WIDTH (w);