tm 7.41.3.
[elisp/tm.git] / tm-image.el
index b81bf86..44bf3e4 100644 (file)
@@ -1,14 +1,14 @@
 ;;;
 ;;; tm-image.el --- a tm-view content filter to display images in
-;;;                 XEmacs buffers
+;;;                 XEmacs or Mule buffers
 ;;;
-;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/12/15
 ;;; Version:
-;;;    $Id: tm-image.el,v 2.0 1995/12/17 12:50:26 morioka Exp $
+;;;    $Id: tm-image.el,v 4.0 1996/01/31 17:15:55 morioka Exp $
 ;;;
 ;;; Keywords: mail, news, MIME, multimedia, image, picture
 ;;;
 ;;; along with This program.  If not, write to the Free Software
 ;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 ;;;
+;;; Commentary:
+;;;   If you use this program with Mule, please install bitmap
+;;;   extension package. It is available from
+;;;    ftp://etlport.etl.go.jp/pub/mule/contrib/bitmap.tar.gz
+;;;
 ;;; Code:
 
 (require 'tm-view)
-(require 'xpm)
-(require 'annotations)
+
+(cond ((string-match "XEmacs" emacs-version)
+       (require 'xpm)
+       (require 'annotations)
+       
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/jpeg" (function mime-preview/filter-for-image))
+       
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/gif" (function mime-preview/filter-for-image))
+       
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/tiff" (function mime-preview/filter-for-image))
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/x-tiff" (function mime-preview/filter-for-image))
+       
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/x-pic" (function mime-preview/filter-for-image))
+       
+       (set-alist 'mime-viewer/content-filter-alist
+                 "image/x-mag" (function mime-preview/filter-for-image))
+       
+       (defvar tm-image/inline-image-types
+        '("image/jpeg" "image/gif" "image/tiff"
+          "image/x-tiff" "image/x-pic" "image/x-mag" "image/x-xbm"))
+
+       (defun bitmap-read-xbm (file)
+        (let ((gl (make-glyph file)))
+          (make-annotation gl (point) 'text)
+          ))
+       )
+      ((boundp 'MULE)
+       (require 'bitmap)
+       
+       (defvar tm-image/inline-image-types '("image/x-mag" "image/x-xbm"))
+       ))
 
 (defvar mime-viewer/shell-command "/bin/sh")
 (defvar mime-viewer/shell-arguments '("-c"))
 
-(setq mime-viewer/graphic-converter-alist
-      '(("image/jpeg"   . "djpeg -color 256 < %s | ppmtoxpm > %s")
-       ("image/gif"    . "giftopnm < %s | ppmtoxpm > %s")
-       ("image/tiff"   . "tifftopnm < %s | ppmquant 256 | ppmtoxpm > %s")
-       ("image/x-tiff" . "tifftopnm < %s | ppmquant 256 | ppmtoxpm > %s")
-       ("image/x-pic"  . "pictoppm < %s | ppmquant 256 | ppmtoxpm > %s")
-       ("image/x-mag"  . "magtoppm < %s | ppmtoxpm > %s")
-       ))
+(defvar mime-viewer/graphic-converter-alist
+  '(("image/jpeg"   . "djpeg -color 256 < %s | ppmtoxpm > %s")
+    ("image/gif"    . "giftopnm < %s | ppmtoxpm > %s")
+    ("image/tiff"   . "tifftopnm < %s | ppmquant 256 | ppmtoxpm > %s")
+    ("image/x-tiff" . "tifftopnm < %s | ppmquant 256 | ppmtoxpm > %s")
+    ("image/x-pic"  . "pictoppm < %s | ppmquant 256 | ppmtoxpm > %s")
+    ("image/x-mag"  . "magtoppm < %s | ppmtoxpm > %s")
+    ))
 
 
-;;; @ content filter for JPEG
+;;; @ content filter for images
 ;;;
 
 (defun mime-preview/filter-for-image (ctype params encoding)
       (message (format "%s is not supported." ctype))
       )))
 
-(set-alist 'mime-viewer/content-filter-alist
-          "image/jpeg" (function mime-preview/filter-for-image))
-
-(set-alist 'mime-viewer/content-filter-alist
-          "image/gif" (function mime-preview/filter-for-image))
-
-(set-alist 'mime-viewer/content-filter-alist
-          "image/tiff" (function mime-preview/filter-for-image))
-(set-alist 'mime-viewer/content-filter-alist
-          "image/x-tiff" (function mime-preview/filter-for-image))
-
-(set-alist 'mime-viewer/content-filter-alist
-          "image/x-pic" (function mime-preview/filter-for-image))
-
-(set-alist 'mime-viewer/content-filter-alist
-          "image/x-mag" (function mime-preview/filter-for-image))
-
 
 ;;; @ content filter for xbm
 ;;;
         (charset (assoc "charset" params))
         (beg (point-min)) (end (point-max))
         (xbm-file (make-temp-name (expand-file-name "tm" mime/tmp-dir)))
-        gl annot)
+        )
     (remove-text-properties beg end '(face nil))
     (mime/decode-region encoding beg end)
     (write-region (point-min)(point-max) xbm-file)
     (delete-region (point-min)(point-max))
-    (setq gl (make-glyph xbm-file))
-    (setq annot (make-annotation gl (point) 'text))
+    (bitmap-read-xbm xbm-file)
     (delete-file xbm-file)
     ))
 
             (cons ctype
                   mime-viewer/default-showing-Content-Type-list))
        ))
- '("image/jpeg" "image/gif" "image/tiff"
-   "image/x-tiff" "image/x-pic" "image/x-mag" "image/x-xbm"))
+ tm-image/inline-image-types)
 
 
 ;;; @ end
 ;;;
 
 (provide 'tm-image)
+
+;;; tm-image.el ends here