diff options
| author | Po Lu | 2025-04-10 15:21:15 +0800 |
|---|---|---|
| committer | Po Lu | 2025-04-10 15:25:38 +0800 |
| commit | 884ede7c959b1331e1ede0b1b80f01a06c048bf5 (patch) | |
| tree | 5ca2198d6e17931492b14d99393d83e798a7f011 /src/android.c | |
| parent | cb339ad8f4e386505f1eae9e45c4162feea61f53 (diff) | |
| download | emacs-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.c | 19 |
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 | ||
| 2822 | JNIEXPORT jlong JNICALL | ||
| 2823 | NATIVE_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 | |||
| 2822 | JNIEXPORT jboolean JNICALL | 2841 | JNIEXPORT jboolean JNICALL |
| 2823 | NATIVE_NAME (shouldForwardMultimediaButtons) (JNIEnv *env, | 2842 | NATIVE_NAME (shouldForwardMultimediaButtons) (JNIEnv *env, |
| 2824 | jobject object) | 2843 | jobject object) |