aboutsummaryrefslogtreecommitdiffstats
path: root/src/android.c
diff options
context:
space:
mode:
authorPo Lu2025-04-10 15:21:15 +0800
committerPo Lu2025-04-10 15:25:38 +0800
commit884ede7c959b1331e1ede0b1b80f01a06c048bf5 (patch)
tree5ca2198d6e17931492b14d99393d83e798a7f011 /src/android.c
parentcb339ad8f4e386505f1eae9e45c4162feea61f53 (diff)
downloademacs-884ede7c959b1331e1ede0b1b80f01a06c048bf5.tar.gz
emacs-884ede7c959b1331e1ede0b1b80f01a06c048bf5.zip
Respond to display configuration updates on Android
* java/org/gnu/emacs/EmacsNative.java (sendConfigurationChanged): Declare function. * java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity) (Sdk7FontObject): Do not access `metrics' field deleted from `EmacsService'. * java/org/gnu/emacs/EmacsService.java (EmacsService) <metrics, resources>: Delete fields. <dpiX, dpiY, dpiScaled>: New fields. (onCreate): Adjust accordingly. Record current display metrics for subsequent comparison. (onConfigurationChanged): New function. * lisp/dynamic-setting.el (font-setting-change-default-font): Enable on systems where font-get-system-font is not defined if invoked with SET-FONT nil. * src/android.c (sendConfigurationChanged): New function. * src/androidgui.h (ANDROID_CONFIGURATION_CHANGED): New enumerator. (struct android_configuration_changed): New structure. (union android_event): Add `config' member. * src/androidterm.c (handle_one_android_event): Handle ANDROID_CONFIGURATION_CHANGED events. (syms_of_androidterm): Define Qfont_render, and Qdynamic_setting. Provide the latter.
Diffstat (limited to 'src/android.c')
-rw-r--r--src/android.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/android.c b/src/android.c
index 0be3e10dea4..5c78dbd9171 100644
--- a/src/android.c
+++ b/src/android.c
@@ -2819,6 +2819,25 @@ NATIVE_NAME (sendNotificationAction) (JNIEnv *env, jobject object,
2819 return event_serial; 2819 return event_serial;
2820} 2820}
2821 2821
2822JNIEXPORT jlong JNICALL
2823NATIVE_NAME (sendConfigurationChanged) (JNIEnv *env, jobject object,
2824 jfloat dpi_x, jfloat dpi_y,
2825 jfloat dpi_scaled)
2826{
2827 JNI_STACK_ALIGNMENT_PROLOGUE;
2828
2829 union android_event event;
2830
2831 event.config.type = ANDROID_CONFIGURATION_CHANGED;
2832 event.config.serial = ++event_serial;
2833 event.config.window = ANDROID_NONE;
2834 event.config.dpi_x = dpi_x;
2835 event.config.dpi_y = dpi_y;
2836 event.config.dpi_scaled = dpi_scaled;
2837 android_write_event (&event);
2838 return event_serial;
2839}
2840
2822JNIEXPORT jboolean JNICALL 2841JNIEXPORT jboolean JNICALL
2823NATIVE_NAME (shouldForwardMultimediaButtons) (JNIEnv *env, 2842NATIVE_NAME (shouldForwardMultimediaButtons) (JNIEnv *env,
2824 jobject object) 2843 jobject object)