]> git.eshelyaron.com Git - emacs.git/commitdiff
Support display of BMP images on MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Sat, 26 Mar 2022 08:31:46 +0000 (11:31 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 26 Mar 2022 08:31:46 +0000 (11:31 +0300)
* src/w32image.c (w32_can_use_native_image_api): Support BMP
images.
* src/image.c (syms_of_image) <Qbmp>: New symbol.
[HAVE_NTGUI]: Add 'bmp' to list of supported image types.

* doc/lispref/display.texi (Image Formats): Document built-in
support for BMP images.

* etc/NEWS: Announce the change.

doc/lispref/display.texi
etc/NEWS
src/image.c
src/w32image.c

index 3aec06e13dd9d90f555b412740a65549ce0cc49c..2dc0ef4c0ba5ae59327b03683abc05473d00d08d 100644 (file)
@@ -5507,6 +5507,12 @@ symbol}.  The symbols for the above formats are, respectively,
 @code{pbm}, @code{xbm}, @code{xpm}, @code{gif}, @code{jpeg},
 @code{tiff}, @code{png}, @code{svg}, and @code{webp}.
 
+  On some platforms, the built-in image support that doesn't require
+any optional libraries includes BMP images.@footnote{
+On MS-Windows, this requires @code{w32-use-native-image-API} to be set
+non-@code{nil}.
+}
+
   Furthermore, if you build Emacs with ImageMagick
 (@code{libMagickWand}) support, Emacs can display any image format
 that ImageMagick can.  @xref{ImageMagick Images}.  All images
index d26c6568b9b7b65870a8aa4e6481306a45b0c9a4..f726b0a2e84f863ba2b5936d35bc049d1dafde1a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1821,6 +1821,11 @@ follow the system's dark mode: GUI frames use the appropriate light or
 dark title bar and scroll bars, based on the user's Windows-wide color
 settings.
 
++++
+*** Emacs now supports display of BMP images using native image APIs.
+When 'w32-use-native-image-API' is non-nil, Emacs on MS-Windows now
+has built-in support for displaying BMP images.
+
 \f
 ----------------------------------------------------------------------
 This file is part of GNU Emacs.
index c412dc902961db5e92b74518d093dff80dd5d03c..d44d6890846f140663eeb3b599d15835c165858d 100644 (file)
@@ -11558,6 +11558,8 @@ non-numeric, there is no explicit limit on the size of images.  */);
 # ifdef HAVE_NTGUI
   DEFSYM (Qgdiplus, "gdiplus");
   DEFSYM (Qshlwapi, "shlwapi");
+  DEFSYM (Qbmp, "bmp");
+  add_image_type (Qbmp);
 # endif
 #endif
 
index f3374dcfd302b894594b21cc74e83232980fa925..1f7c4921b31fc08f775bcc1ba63332e5a4a6c8a3 100644 (file)
@@ -253,6 +253,7 @@ w32_can_use_native_image_api (Lisp_Object type)
        || EQ (type, Qpng)
        || EQ (type, Qgif)
        || EQ (type, Qtiff)
+       || EQ (type, Qbmp)
        || EQ (type, Qnative_image)))
     {
       /* GDI+ can also display BMP, Exif, ICON, WMF, and EMF images.