aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidgui.h
diff options
context:
space:
mode:
authorPo Lu2024-05-04 11:36:09 +0800
committerPo Lu2024-05-04 11:36:09 +0800
commit139931fefb4cde3132ca68c3caa6ee9c4889c1b6 (patch)
tree0d34b5ae78706d4c1345ff8f70e865f3503ead4f /src/androidgui.h
parent7a7dd87842fde85666208b1ce26882aa83d99107 (diff)
downloademacs-139931fefb4cde3132ca68c3caa6ee9c4889c1b6.tar.gz
emacs-139931fefb4cde3132ca68c3caa6ee9c4889c1b6.zip
Simplify management of Android handle IDs
* java/org/gnu/emacs/EmacsCursor.java (EmacsCursor): * java/org/gnu/emacs/EmacsGC.java (EmacsGC): * java/org/gnu/emacs/EmacsHandleObject.java (EmacsHandleObject): Remove HANDLE argument to constructor. * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): * java/org/gnu/emacs/EmacsInputConnection.java (EmacsInputConnection) <windowHandle>: Change type to long. * java/org/gnu/emacs/EmacsNative.java (EmacsNative) (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn) (sendFocusOut, sendWindowAction, sendEnterNotify) (sendLeaveNotify, sendMotionNotify, sendButtonPress) (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove) (sendWheel, sendIconified, sendDeiconified, sendContextMenu) (sendExpose, sendDndDrag, sendDndUri, sendDndText) (beginBatchEdit, commitCompletion, endBatchEdit, commitText) (deleteSurroundingText, finishComposingText, replaceText) (getSelectedText, getTextAfterCursor, getTextBeforeCursor) (setComposingText, setComposingRegion, setSelection) (performEditorAction, performContextMenuAction, getExtractedText) (requestSelectionUpdate, requestCursorUpdates, clearInputFlags) (getSurroundingText, takeSnapshot, getSelection): Accept handles as longs, rather than shorts. All callers changed. * java/org/gnu/emacs/EmacsService.java (queryTree): Return handles as longs rather than shorts. (viewGetSelection): Take long WINDOW, not short. * src/android.c (struct android_emacs_handle): New structure. (handle_class): New variable. (android_init_emacs_service, android_init_emacs_pixmap) (android_init_emacs_gc_class, android_init_emacs_cursor): Adjust to match signature changes in constructors. (android_init_emacs_handle): New function. (initEmacs): Initialize the handle class, its fields and metods. (sendConfigureNotify, sendKeyPress, sendKeyRelease, sendFocusIn) (sendFocusOut, sendWindowAction, sendEnterNotify) (sendLeaveNotify, sendMotionNotify, sendButtonPress) (sendButtonRelease, sendTouchDown, sendTouchUp, sendTouchMove) (sendWheel, sendIconified, sendDeiconified, sendContextMenu) (sendExpose, sendDndDrag, sendDndUri, sendDndText): Update for changes to handle type. (android_alloc_id, android_resolve_handle) (android_resolve_handle2): Remove functions; replace the second with a macro that accepts one fewer argument. All callers changed. (android_destroy_handle): Cease indexing the handle list for the handle object. (android_globalize_reference): New function. (android_create_window, android_create_gc, android_create_pixmap) (android_create_font_cursor): Call android_globalize_reference to convert global references into handles. (android_free_cursor, android_destroy_window): Cease verifying the handle type. (android_copy_area): Check destination object type rather than handle entry. (android_query_tree): Adjust for changes to return types. (likely): Define __builtin_expect variant unconditionally. * src/android.h (android_resolve_handle): New macro. * src/androidgui.h (android_handle): Define to intptr_t. * src/androidterm.c (deleteSurroundingText, finishComposingText) (performEditorAction, performContextMenuAction, getExtractedText) (getSelectedText, requestSelectionUpdate, requestCursorUpdates) (clearInputFlags, getSurroundingText) (android_get_surrounding_text_internal): Accept handles as longs, not jshorts.
Diffstat (limited to 'src/androidgui.h')
-rw-r--r--src/androidgui.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/androidgui.h b/src/androidgui.h
index 3b3e08ca024..79e42c7947c 100644
--- a/src/androidgui.h
+++ b/src/androidgui.h
@@ -19,6 +19,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
19#ifndef _ANDROID_GUI_H_ 19#ifndef _ANDROID_GUI_H_
20#define _ANDROID_GUI_H_ 20#define _ANDROID_GUI_H_
21 21
22#include <stdint.h>
23
22struct android_char_struct 24struct android_char_struct
23{ 25{
24 int rbearing; 26 int rbearing;
@@ -30,7 +32,8 @@ struct android_char_struct
30 32
31typedef struct android_char_struct XCharStruct; 33typedef struct android_char_struct XCharStruct;
32 34
33typedef unsigned short android_handle; 35/* Handles are but JNI handles cast to intptr_t. */
36typedef intptr_t android_handle;
34 37
35typedef android_handle android_pixmap, Emacs_Pixmap; 38typedef android_handle android_pixmap, Emacs_Pixmap;
36typedef android_handle android_window, Emacs_Window; 39typedef android_handle android_window, Emacs_Window;