diff options
author | Kim F. Storm <storm@cua.dk> | 2003-06-05 00:36:28 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2003-06-05 00:36:28 +0000 |
commit | a530382071fde731cc36c549ee9086ca19a345fb (patch) | |
tree | ae61eaa713af4897b5254a9b290480fdc5bf60d9 | |
parent | 9b87a0bc64cc1e2e54083e2d7ff411c3c7a7aaba (diff) | |
download | emacs-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.c | 20 |
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); |