[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 13fdcd730ff 5/5: Revert "Simplify absolute (x, y) computation on
From: |
Gerd Moellmann |
Subject: |
master 13fdcd730ff 5/5: Revert "Simplify absolute (x, y) computation on ttys" |
Date: |
Sat, 25 Jan 2025 03:40:31 -0500 (EST) |
branch: master
commit 13fdcd730ff63bf79caace9a6e46aff5f944b1b7
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Revert "Simplify absolute (x, y) computation on ttys"
This reverts commit 5e132835ad320be1d5c45ffbf83d67d16fc7bf96.
---
src/dispextern.h | 2 +-
src/dispnew.c | 19 ++++++++++---------
src/term.c | 7 ++++---
3 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/dispextern.h b/src/dispextern.h
index 9c193e79fd1..1060895d0f4 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -3958,7 +3958,7 @@ void combine_updates (Lisp_Object root_frames);
void combine_updates_for_frame (struct frame *f, bool inhibit_id_p);
void tty_raise_lower_frame (struct frame *f, bool raise);
int max_child_z_order (struct frame *parent);
-void root_xy (struct frame *f, int x, int y, int *rx, int *ry);
+void frame_pos_abs (struct frame *f, int *x, int *y);
bool is_frame_ancestor (struct frame *f1, struct frame *f2);
INLINE_HEADER_END
diff --git a/src/dispnew.c b/src/dispnew.c
index 00e59c767e8..724ec6ece9a 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -3313,18 +3313,16 @@ rect_intersect (struct rect *r, struct rect r1, struct
rect r2)
return true;
}
-/* Translate (X, Y) relative to frame F to absolute coordinates
- in (*X, *Y). */
+/* Return the absolute position of frame F in *X and *Y. */
void
-root_xy (struct frame *f, int x, int y, int *rx, int *ry)
+frame_pos_abs (struct frame *f, int *x, int *y)
{
- *rx = x;
- *ry = y;
+ *x = *y = 0;
for (; f; f = FRAME_PARENT_FRAME (f))
{
- *rx += f->left_pos;
- *ry += f->top_pos;
+ *x += f->left_pos;
+ *y += f->top_pos;
}
}
@@ -3335,7 +3333,7 @@ static struct rect
frame_rect_abs (struct frame *f)
{
int x, y;
- root_xy (f, 0, 0, &x, &y);
+ frame_pos_abs (f, &x, &y);
return (struct rect) { x, y, f->total_cols, f->total_lines };
}
@@ -3877,7 +3875,10 @@ abs_cursor_pos (struct frame *f, int *x, int *y)
wx += max (0, w->left_margin_cols);
- root_xy (f, wx, wy, x, y);
+ int fx, fy;
+ frame_pos_abs (f, &fx, &fy);
+ *x = fx + wx;
+ *y = fy + wy;
return true;
}
diff --git a/src/term.c b/src/term.c
index 00bc94e6e31..4ae9c373888 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2996,9 +2996,10 @@ mouse_get_xy (int *x, int *y)
struct frame *sf = SELECTED_FRAME ();
if (f == sf || is_frame_ancestor (sf, f))
{
- int mx = XFIXNUM (XCAR (XCDR (mouse)));
- int my = XFIXNUM (XCDR (XCDR (mouse)));
- root_xy (f, mx, my, x, y);
+ int fx, fy;
+ frame_pos_abs (f, &fx, &fy);
+ *x = fx + XFIXNUM (XCAR (XCDR (mouse)));
+ *y = fy + XFIXNUM (XCDR (XCDR (mouse)));
}
}
- master updated (57b7c07b370 -> 13fdcd730ff), Gerd Moellmann, 2025/01/25
- master e2cc52dbcd1 2/5: Revert "Fix mouse position handling for nested tty child frames", Gerd Moellmann, 2025/01/25
- master 13fdcd730ff 5/5: Revert "Simplify absolute (x, y) computation on ttys",
Gerd Moellmann <=
- master d93d8222858 1/5: Revert "Multi-tty: selected frame can be a GUI frame", Gerd Moellmann, 2025/01/25
- master 65036323fc1 4/5: Revert "Fix cursor positioning of nested tty child frames", Gerd Moellmann, 2025/01/25
- master 9ad28959d68 3/5: Revert "Fix tty-frame-at for nested tty child frames", Gerd Moellmann, 2025/01/25