comparison lisp/image-mode.el @ 109867:7b3550d93e3a

support for fit-width
author Joakim <joakim@localhost.localdomain>
date Sun, 27 Jun 2010 02:18:55 +0200
parents 73512e4aa257
children 2ea89e2c498f
comparison
equal deleted inserted replaced
109866:73512e4aa257 109867:7b3550d93e3a
577 ((and (numberp image-transform-resize) (eq 100 image-transform-resize)) 577 ((and (numberp image-transform-resize) (eq 100 image-transform-resize))
578 nil) 578 nil)
579 ((numberp image-transform-resize) 579 ((numberp image-transform-resize)
580 (* image-transform-resize (cdr size))) 580 (* image-transform-resize (cdr size)))
581 ((eq image-transform-resize 'fit-height) 581 ((eq image-transform-resize 'fit-height)
582 (nth 3 (window-inside-pixel-edges))) 582 (- (nth 3 (window-inside-pixel-edges)) (nth 1 (window-inside-pixel-edges))))
583 ))) 583 (t nil)))
584 `(,@(if height (list :height height)) 584 (width (if (eq image-transform-resize 'fit-width)
585 ,@(if (not (equal 0.0 image-transform-rotation)) 585 (- (nth 2 (window-inside-pixel-edges)) (nth 0 (window-inside-pixel-edges))))))
586 (list :rotation image-transform-rotation)) 586
587 ))) 587 `(,@(if height (list :height height))
588 ,@(if width (list :width width))
589 ,@(if (not (equal 0.0 image-transform-rotation))
590 (list :rotation image-transform-rotation))
591 )))
588 592
589 (defun image-transform-set-scale (scale) 593 (defun image-transform-set-scale (scale)
590 (interactive "nscale:") 594 (interactive "nscale:")
591 (image-transform-set-resize (float scale))) 595 (image-transform-set-resize (float scale)))
592 596
593 (defun image-transform-fit-to-height () 597 (defun image-transform-fit-to-height ()
594 (interactive) 598 (interactive)
595 (image-transform-set-resize 'fit-height)) 599 (image-transform-set-resize 'fit-height))
596 600
601 (defun image-transform-fit-to-width ()
602 (interactive)
603 (image-transform-set-resize 'fit-width))
604
597 (defun image-transform-set-resize (resize) 605 (defun image-transform-set-resize (resize)
598 (setq image-transform-resize resize) 606 (setq image-transform-resize resize)
599 (image-toggle-display-image)) 607 (if (eq 'image-mode major-mode) (image-toggle-display-image)))
600 608
601 (defun image-transform-set-rotation (rotation) 609 (defun image-transform-set-rotation (rotation)
602 (interactive "nrotation:") 610 (interactive "nrotation:")
603 (setq image-transform-rotation (float rotation)) 611 (setq image-transform-rotation (float rotation))
604 (image-toggle-display-image)) 612 (image-toggle-display-image))