Function: strokes-get-stroke-extent
strokes-get-stroke-extent is a byte-compiled function defined in
strokes.el.gz.
Signature
(strokes-get-stroke-extent PIXEL-POSITIONS)
Documentation
From a list of absolute PIXEL-POSITIONS, return absolute spatial extent.
The return value is a list ((XMIN . YMIN) (XMAX . YMAX)).
Source Code
;; Defined in /usr/src/emacs/lisp/strokes.el.gz
(defun strokes-get-stroke-extent (pixel-positions)
"From a list of absolute PIXEL-POSITIONS, return absolute spatial extent.
The return value is a list ((XMIN . YMIN) (XMAX . YMAX))."
(if pixel-positions
(let ((xmin (caar pixel-positions))
(xmax (caar pixel-positions))
(ymin (cdar pixel-positions))
(ymax (cdar pixel-positions))
(rest (cdr pixel-positions)))
(while rest
(if (consp (car rest))
(let ((x (caar rest))
(y (cdar rest)))
(if (< x xmin)
(setq xmin x))
(if (> x xmax)
(setq xmax x))
(if (< y ymin)
(setq ymin y))
(if (> y ymax)
(setq ymax y))))
(setq rest (cdr rest)))
(let ((delta-x (- xmax xmin))
(delta-y (- ymax ymin)))
(if (> delta-x delta-y)
(setq ymin (- ymin
(/ (- delta-x delta-y)
2))
ymax (+ ymax
(/ (- delta-x delta-y)
2)))
(setq xmin (- xmin
(/ (- delta-y delta-x)
2))
xmax (+ xmax
(/ (- delta-y delta-x)
2))))
(list (cons xmin ymin)
(cons xmax ymax))))
nil))