From 98d43dbef5786e02389e883ba5b4aaae7f261b79 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 10 Mar 2023 15:16:13 +0800 Subject: [PATCH] * java/org/gnu/emacs/EmacsCursor.java: New file. --- java/org/gnu/emacs/EmacsCursor.java | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 java/org/gnu/emacs/EmacsCursor.java diff --git a/java/org/gnu/emacs/EmacsCursor.java b/java/org/gnu/emacs/EmacsCursor.java new file mode 100644 index 00000000000..c14c6f2a11b --- /dev/null +++ b/java/org/gnu/emacs/EmacsCursor.java @@ -0,0 +1,47 @@ +/* Communication module for Android terminals. -*- c-file-style: "GNU" -*- + +Copyright (C) 2023 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or (at +your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . */ + +package org.gnu.emacs; + +import android.view.PointerIcon; +import android.os.Build; + +/* Cursor wrapper. Note that pointer icons are not supported prior to + Android 24. */ + +public final class EmacsCursor extends EmacsHandleObject +{ + /* The pointer icon associated with this cursor. */ + public final PointerIcon icon; + + public + EmacsCursor (short handle, int glyph) + { + super (handle); + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) + { + icon = null; + return; + } + + icon = PointerIcon.getSystemIcon (EmacsService.SERVICE, + glyph); + } +}; -- 2.39.2