[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 3007b42: Rework the image property getter/setters
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] master 3007b42: Rework the image property getter/setters |
Date: |
Mon, 22 Feb 2016 01:50:54 +0000 |
branch: master
commit 3007b422b69f7b1660379b5d8e6713e8b823c098
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
Rework the image property getter/setters
* doc/lispref/display.texi (Defining Images): Document the
renamed `image-get/set-property' functions.
* lisp/image.el (image--set-property): Rename from
image-set-property.
(image-property): Declare a setf form.
(image-property): Rename from `image-get-property'.
---
doc/lispref/display.texi | 12 +++++-------
etc/NEWS | 4 ++--
lisp/image.el | 14 +++++++++-----
lisp/net/shr.el | 5 +++--
4 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 3758ddf..c49cca2 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -5444,19 +5444,17 @@ If none of the alternatives will work, then
@var{symbol} is defined
as @code{nil}.
@end defmac
address@hidden image-set-property image property value
-Set the value of @var{property} in @var{image} to @var{value}. If
address@hidden is @code{nil}, the property is removed completely.
address@hidden image-property image property
+Return the value of @var{property} in @var{image}. Properties can be
+set by using @code{setf}. Setting a property to @code{nil} will
+remove the property from the image.
address@hidden defun
@lisp
(image-set-property image :height 300)
@end lisp
@end defun
address@hidden image-get-property image property
-Return the value of @var{property} in @var{image}.
address@hidden defun
-
@defun find-image specs
This function provides a convenient way to find an image satisfying one
of a list of image specifications @var{specs}.
diff --git a/etc/NEWS b/etc/NEWS
index 9a3799a..4532a18 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -865,8 +865,8 @@ added. See the "SVG Images" section in the lispref manual
for
details.
+++
-*** New functions to access and set image parameters are provided:
-`image-get-property' and `image-set-property'.
+*** New setf-able function to access and set image parameters is
+provided: `image-property'.
** Lisp mode
diff --git a/lisp/image.el b/lisp/image.el
index 3522c5b..96afa98 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -435,10 +435,9 @@ Image file names that are not absolute are searched for in
the
(image-compute-scaling-factor image-scaling-factor)))
props)))
-(defun image-set-property (image property value)
+(defun image--set-property (image property value)
"Set PROPERTY in IMAGE to VALUE.
-If VALUE is nil, PROPERTY is removed from IMAGE. IMAGE is
-returned."
+Internal use only."
(if (null value)
(while (cdr image)
;; IMAGE starts with the symbol `image', and the rest is a
@@ -451,8 +450,13 @@ returned."
(plist-put (cdr image) property value))
image)
-(defun image-get-property (image property)
- "Return the value of PROPERTY in IMAGE."
+(defun image-property (image property)
+ "Return the value of PROPERTY in IMAGE.
+Properties can be set with
+
+ (setf (image-property IMAGE PROPERTY) VALUE)
+If VALUE is nil, PROPERTY is removed from IMAGE."
+ (declare (gv-setter image--set-property))
(plist-get (cdr image) property))
(defun image-compute-scaling-factor (scaling)
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 6352d38..4c3dfc4 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1536,7 +1536,7 @@ The preference is a float determined from
`shr-prefer-media-type'."
(- (nth 2 edges) (nth 0 edges))))))
(max-height (and edges
(truncate (* shr-max-image-proportion
- (- (nth 3 edges) (nth 1 edges))))))
+ (- (nth 3 edges) (nth 1 edges))))))
svg image)
(when (and max-width
(> width max-width))
@@ -1551,7 +1551,8 @@ The preference is a float determined from
`shr-prefer-media-type'."
(svg-rectangle svg 0 0 width height :gradient "background"
:stroke-width 2 :stroke-color "black")
(let ((image (svg-image svg)))
- (image-set-property image :ascent 100))))
+ (setf (image-property image :ascent) 100)
+ image)))
(defun shr-tag-pre (dom)
(let ((shr-folding-mode 'none)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 3007b42: Rework the image property getter/setters,
Lars Ingebrigtsen <=