[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/image-mode.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/image-mode.el,v |
Date: |
Thu, 03 Apr 2008 02:19:26 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/04/03 02:19:25
Index: image-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/image-mode.el,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- image-mode.el 27 Mar 2008 14:59:29 -0000 1.41
+++ image-mode.el 3 Apr 2008 02:19:22 -0000 1.42
@@ -244,6 +244,31 @@
(image-set-window-hscroll (max 0 (- img-width win-width)))
(image-set-window-vscroll (max 0 (- img-height win-height)))))
+;; Adjust frame and image size.
+
+(defun image-mode-fit-frame ()
+ "Fit the frame to the current image.
+This function assumes the current frame has only one window."
+ ;; FIXME: This does not take into account decorations like mode-line,
+ ;; minibuffer, header-line, ...
+ (interactive)
+ (let* ((saved (frame-parameter nil 'image-mode-saved-size))
+ (display (image-get-display-property))
+ (size (image-size display)))
+ (if (and saved
+ (eq (caar saved) (frame-width))
+ (eq (cdar saved) (frame-height)))
+ (progn ;; Toggle back to previous non-fitted size.
+ (set-frame-parameter nil 'image-mode-saved-size nil)
+ (setq size (cdr saved)))
+ ;; Round up size, and save current size so we can toggle back to it.
+ (setcar size (ceiling (car size)))
+ (setcdr size (ceiling (cdr size)))
+ (set-frame-parameter nil 'image-mode-saved-size
+ (cons size (cons (frame-width) (frame-height)))))
+ (set-frame-width (selected-frame) (car size))
+ (set-frame-height (selected-frame) (cdr size))))
+
;;; Image Mode setup
(defvar image-type nil
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/image-mode.el,v,
Stefan Monnier <=