[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 4e1f92f 1/4: Implement frame-scale-factor
From: |
Alan Third |
Subject: |
master 4e1f92f 1/4: Implement frame-scale-factor |
Date: |
Sat, 3 Apr 2021 18:27:53 -0400 (EDT) |
branch: master
commit 4e1f92feb3a861f93b7a285715d03be930b41b91
Author: Alan Third <alan@idiocy.org>
Commit: Alan Third <alan@idiocy.org>
Implement frame-scale-factor
* src/frame.c (Fframe_scale_factor): New function.
(syms_of_frame): Add frame-scale-factor.
* src/frame.h: Add FRAME_SCALE_FACTOR.
* src/image.c: Move FRAME_SCALE_FACTOR to frame.h.
---
src/frame.c | 12 ++++++++++++
src/frame.h | 7 +++++++
src/image.c | 8 --------
3 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/frame.c b/src/frame.c
index 66ae494..784a079 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3744,6 +3744,17 @@ window state change flag is reset. */)
return (FRAME_WINDOW_STATE_CHANGE (f) = !NILP (arg)) ? Qt : Qnil;
}
+DEFUN ("frame-scale-factor", Fframe_scale_factor, Sframe_scale_factor,
+ 0, 1, 0,
+ doc: /* Return FRAMEs scale factor.
+The scale factor is the amount a logical pixel size must be multiplied
+to find the real number of pixels. */)
+ (Lisp_Object frame)
+{
+ struct frame *f = decode_live_frame (frame);
+
+ return (make_float (FRAME_SCALE_FACTOR (f)));
+}
/***********************************************************************
Frame Parameters
@@ -6457,6 +6468,7 @@ iconify the top level frame instead. */);
defsubr (&Sframe_pointer_visible_p);
defsubr (&Sframe_window_state_change);
defsubr (&Sset_frame_window_state_change);
+ defsubr (&Sframe_scale_factor);
#ifdef HAVE_WINDOW_SYSTEM
defsubr (&Sx_get_resource);
diff --git a/src/frame.h b/src/frame.h
index 9ddcb4c..9963112 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -907,6 +907,13 @@ default_pixels_per_inch_y (void)
(WINDOWP (f->minibuffer_window) \
&& XFRAME (XWINDOW (f->minibuffer_window)->frame) == f)
+/* Scale factor of frame F. */
+#if defined HAVE_NS
+# define FRAME_SCALE_FACTOR(f) (FRAME_NS_P (f) ? ns_frame_scale_factor (f) : 1)
+#else
+# define FRAME_SCALE_FACTOR(f) 1;
+#endif
+
/* Pixel width of frame F. */
#define FRAME_PIXEL_WIDTH(f) ((f)->pixel_width)
diff --git a/src/image.c b/src/image.c
index b85418c..774b7e1 100644
--- a/src/image.c
+++ b/src/image.c
@@ -135,14 +135,6 @@ typedef struct ns_bitmap_record Bitmap_Record;
# define COLOR_TABLE_SUPPORT 1
#endif
-#ifdef HAVE_RSVG
-#if defined HAVE_NS
-# define FRAME_SCALE_FACTOR(f) ns_frame_scale_factor (f)
-#else
-# define FRAME_SCALE_FACTOR(f) 1;
-#endif
-#endif
-
static void image_disable_image (struct frame *, struct image *);
static void image_edge_detection (struct frame *, struct image *, Lisp_Object,
Lisp_Object);
- master updated (b0d095b -> 0689a4a), Alan Third, 2021/04/03
- master 4e1f92f 1/4: Implement frame-scale-factor,
Alan Third <=
- master 40842f6 2/4: Fix NSTRACE failure, Alan Third, 2021/04/03
- master 1fdbeff 3/4: Set CSS for SVG files, Alan Third, 2021/04/03
- master 0689a4a 4/4: Make new SVG widgets match character height (bug#47074), Alan Third, 2021/04/03
- Re: master updated (b0d095b -> 0689a4a), Lars Ingebrigtsen, 2021/04/03
- Re: master updated (b0d095b -> 0689a4a), Alan Third, 2021/04/04
- Re: master updated (b0d095b -> 0689a4a), Stefan Kangas, 2021/04/04
- Re: master updated (b0d095b -> 0689a4a), Lars Ingebrigtsen, 2021/04/04
- Re: master updated (b0d095b -> 0689a4a), Alan Third, 2021/04/04
- Re: master updated (b0d095b -> 0689a4a), Lars Ingebrigtsen, 2021/04/04
- Re: master updated (b0d095b -> 0689a4a), Alan Third, 2021/04/04