From b0140bcd44326632538dc377dd336b82a1df4dd9 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 23 Dec 2025 10:39:45 +0800 Subject: Implement set_window_size_and_position_hook on Android * java/org/gnu/emacs/EmacsWindow.java (moveResizeWindow): New method, which alters all of the bounding box of a window at once. * src/android.c (android_init_emacs_window): Load method `move_resize_window'. (android_move_resize_window): Invoke this method, rather than a sequence of operations that will produce two ConfigureNotify events. * src/androidterm.c (android_set_window_size_and_position_1) (android_set_window_size_and_position): New functions; ported from X. (android_create_terminal): Register the same. --- java/org/gnu/emacs/EmacsWindow.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'java') diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java index fffa2cc5d49..7cbc1c1db43 100644 --- a/java/org/gnu/emacs/EmacsWindow.java +++ b/java/org/gnu/emacs/EmacsWindow.java @@ -426,6 +426,16 @@ public final class EmacsWindow extends EmacsHandleObject requestViewLayout (); } + public synchronized void + moveResizeWindow (int x, int y, int width, int height) + { + rect.left = x; + rect.top = y; + rect.right = x + width; + rect.bottom = y + height; + requestViewLayout (); + } + /* Return WM layout parameters for an override redirect window with the geometry provided here. */ -- cgit v1.2.1