- (put 'wl-logo-xbm 'width (car xbm))
- (put 'wl-logo-xbm 'height (nth 1 xbm))
- (put 'wl-logo-xbm 'image
- (cond
- ((featurep 'xemacs)
- (make-glyph (vector 'xbm ':data xbm)))
- ((featurep 'image)
- (create-image (nth 2 xbm) 'xbm t
- ':width (car xbm) ':height (nth 1 xbm)))
- (t
- (let ((default-enable-multibyte-characters t)
- (default-mc-flag t))
- (with-temp-buffer
- (let* ((cmp (if (car bm)
- (cdr bm)
- (insert (cdr bm))
- (prog1
- (bitmap-decode-xbm (bitmap-read-xbm-buffer
- (current-buffer)))
- (erase-buffer))))
- (len (length cmp))
- (i 1))
- (insert (bitmap-compose (aref cmp 0)))
- (while (< i len)
- (insert "\n" (bitmap-compose (aref cmp i)))
- (setq i (1+ i)))
- (buffer-string))))))))))
+ (put 'wl-logo-bitmap 'width width)
+ (put 'wl-logo-bitmap 'height height)
+ (let ((default-enable-multibyte-characters t)
+ (default-mc-flag t))
+ (with-temp-buffer
+ (let* ((bm (wl-logo-bitmap))
+ (cmp (if (car bm)
+ (cdr bm)
+ (insert (cdr bm))
+ (prog1
+ (bitmap-decode-xbm (bitmap-read-xbm-buffer
+ (current-buffer)))
+ (erase-buffer))))
+ (len (length cmp))
+ (i 1))
+ (insert (bitmap-compose (aref cmp 0)))
+ (while (< i len)
+ (insert "\n" (bitmap-compose (aref cmp i)))
+ (setq i (1+ i)))
+ (put 'wl-logo-bitmap 'image (buffer-string))))))))
+
+(eval-when-compile
+ (defmacro wl-demo-image-type-alist ()
+ (` (append (if (and (get 'wl-logo-xpm 'width)
+ (or (and (featurep 'xemacs)
+ (featurep 'xpm)
+ (device-on-window-system-p))
+ (and wl-on-emacs21
+ (display-graphic-p)
+ (image-type-available-p 'xpm))))
+ '(("xpm" . xpm)))
+ (if (and (get 'wl-logo-xbm 'width)
+ (or (and (featurep 'xemacs)
+ (device-on-window-system-p))
+ (and wl-on-emacs21
+ (display-graphic-p)
+ (image-type-available-p 'xbm))))
+ '(("xbm" . xbm)))
+ (if (and (get 'wl-logo-bitmap 'width)
+ (not (featurep 'xemacs))
+ window-system
+ (featurep 'bitmap))
+ '(("bitmap" . bitmap)))
+ '(("ascii"))))))