Mercurial > emacs
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)) |