summaryrefslogtreecommitdiff
path: root/src/frame.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-07-06 09:35:27 +0800
committerPo Lu <luangruo@yahoo.com>2023-07-06 09:35:27 +0800
commit75db4511704284a739c93895d7a31478b1a71181 (patch)
tree73a1a65f1a3075104ee5a3ec1cd1871e4cc1d07e /src/frame.h
parentaf8232a150c934d500bfc231a0b9ac53d6d8415e (diff)
downloademacs-75db4511704284a739c93895d7a31478b1a71181.tar.gz
emacs-75db4511704284a739c93895d7a31478b1a71181.tar.bz2
emacs-75db4511704284a739c93895d7a31478b1a71181.zip
Update Android port
* java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce new argument `scaledDensity'. * java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify new argument. * java/org/gnu/emacs/EmacsService.java (onCreate): Compute an adjusted DPI for the font size based on the ratio between density and scaledDensity. (run): Specify that adjusted density. * src/android.c (setEmacsParams): Set `android_scaled_pixel_density'. * src/android.h: (android_scaled_pixel_density: New variable. * src/androidterm.c (android_term_init): Set `font_resolution'. * src/androidterm.h (struct android_display_info): New field. * src/font.c (font_pixel_size, font_find_for_lface) (font_open_for_lface, Ffont_face_attributes, Fopen_font): Use FRAME_RES instead of FRAME_RES_Y. * src/frame.h (FRAME_RES): New macro. Use this to convert between font point and pixel sizes as opposed to FRAME_RES_Y. * src/w32font.c (fill_in_logfont): * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use FRAME_RES instead of FRAME_RES_Y. (bug#64444)
Diffstat (limited to 'src/frame.h')
-rw-r--r--src/frame.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/frame.h b/src/frame.h
index 8ed9c0f37d8..62fc63c7c1f 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -981,12 +981,26 @@ default_pixels_per_inch_y (void)
#define FRAME_RES_Y(f) \
(eassert (FRAME_WINDOW_P (f)), FRAME_DISPLAY_INFO (f)->resy)
+#ifdef HAVE_ANDROID
+
+/* Android systems use a font scaling factor independent from the
+ display DPI. */
+
+#define FRAME_RES(f) \
+ (eassert (FRAME_WINDOW_P (f)), \
+ FRAME_DISPLAY_INFO (f)->font_resolution)
+
+#else /* !HAVE_ANDROID */
+#define FRAME_RES(f) (FRAME_RES_Y (f))
+#endif /* HAVE_ANDROID */
+
#else /* !HAVE_WINDOW_SYSTEM */
/* Defaults when no window system available. */
-#define FRAME_RES_X(f) default_pixels_per_inch_x ()
-#define FRAME_RES_Y(f) default_pixels_per_inch_y ()
+#define FRAME_RES_X(f) default_pixels_per_inch_x ()
+#define FRAME_RES_Y(f) default_pixels_per_inch_y ()
+#define FRAME_RES(f) default_pixels_per_inch_y ()
#endif /* HAVE_WINDOW_SYSTEM */