From: Kim F. Storm Date: Thu, 5 Jun 2003 00:36:28 +0000 (+0000) Subject: (coordinates_in_window): Convert X and Y to window X-Git-Tag: ttn-vms-21-2-B4~9731 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a530382071fde731cc36c549ee9086ca19a345fb;p=emacs.git (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. --- 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);