1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-16 08:10:43 -08:00

Implement mouse cursors on Android 7.0 and later

* java/org/gnu/emacs/EmacsWindow.java (defineCursor): New
function.
* src/android.c (struct android_emacs_cursor): New struct.
(android_init_emacs_cursor): New function.
(JNICALL): Call it.
(android_create_font_cursor, android_define_cursor)
(android_free_cursor): New functions.
* src/android.h (enum android_handle_type): Add cursor handle
type.
* src/androidfns.c (Fx_create_frame, android_create_tip_frame)
(enum mouse_cursor, struct mouse_cursor_types, mouse_cursor_types)
(struct mouse_cursor_data, android_set_mouse_color)
(syms_of_androidfns):
* src/androidgui.h (enum android_cursor_shape):
* src/androidterm.c (make_invisible_cursor)
(android_toggle_invisible_pointer, android_free_frame_resources)
(android_define_frame_cursor):
* src/androidterm.h (struct android_display_info)
(struct android_output): Port mouse cursor code over from X.
This commit is contained in:
Po Lu 2023-03-10 15:16:05 +08:00
parent a7c8ae7d67
commit ae5513ede5
7 changed files with 448 additions and 10 deletions

View file

@ -1222,4 +1222,20 @@ public final class EmacsWindow extends EmacsHandleObject
}
});
}
public void
defineCursor (final EmacsCursor cursor)
{
/* Don't post this message if pointer icons aren't supported. */
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
view.post (new Runnable () {
@Override
public void
run ()
{
view.setPointerIcon (cursor.icon);
}
});
}
};